当我执行bash脚本时,它说一行拒绝了权限。在脚本和其他详细信息下面。
#!/bin/bash
find /var/opt/gitlab/backups/ -amin +60 |grep tar | cut -d '/' -f 6 >
/tmp/delete-files.txt
chmod +rw /var/opt/gitlab/backups/*.tar
chmod +rw /tmp/delete-files.txt
for i in `/tmp/delete-files.txt`
do
rm -rf /var/opt/gitlab/backups/$i
[root@git opt]# ./asaaa
./asaaa: line 10: /tmp/delete-files.txt: Permission denied'
[root@git opt]#
[root@git opt]# ll /tmp/delete-files.txt
-rw-r--r--. 1 root root 100 Mar 11 12:43 /tmp/delete-files.txt
[root@git opt]#
帮我解决这个问题。
答案 0 :(得分:0)
此行不正确:
for i in `/tmp/delete-files.txt`
反引号表示command substitution。您的脚本将尝试执行/tmp/delete-files.txt
。这不是可执行文件。
我的猜测是您想做的是:
for i in `cat /tmp/delete-files.txt`
即。执行cat命令以打印/tmp/delete-files.txt
的内容,然后循环遍历for循环中的每一行。