While_Run_For_loop_In_bash-разрешительный отказано - PullRequest
0 голосов
/ 11 марта 2019

Когда я выполняю скрипт 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]#

Помогите разобраться с этой проблемой.

1 Ответ

0 голосов
/ 11 марта 2019

Эта строка неверна:

for i in `/tmp/delete-files.txt`

Бэктикс означает подстановка команд . Ваш скрипт попытается выполнить /tmp/delete-files.txt. Это не исполняемый файл.

Я думаю, что вы хотели сделать:

for i in `cat /tmp/delete-files.txt`

Т.е.. выполнить команду cat, чтобы напечатать содержимое /tmp/delete-files.txt, а затем перебрать каждую из напечатанных строк в цикле for.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...