Замена команды в значение сценария удара за 1$

У меня есть этот простой сценарий, который изменяет полномочия на моих apache2 веб-сайтах

/var/www/html# cat permissions_setup.sh 
chown -R root $1
chgrp -R www-data $1
chmod -R 750 $1
chmod g+s $1

Я имею два .sh сценарии оболочки в моем html/ каталог

/var/www/html# ll
total 40
drwxr-xr-x 8 root root     4096 Jul  5 16:45 ./
drwxr-xr-x 4 root root     4096 Jun 13 18:37 ../
drwxr-s--- 5 root www-data 4096 Jun  6 18:17 foo.com/
drwxr-s--- 5 root www-data 4096 Jun 13 18:52 bar.org/
drwxr-xr-x 5 root root     4096 Jun 13 18:13 barfoo.com/
-rwxr-xr-x 1 root root       67 Jul  5 16:44 permissions_setup.sh*
drwxr-xr-x 5 root root     4096 Jun 13 18:42 foobar.com/
-rwx------ 1 root root     1163 Jun 13 18:41 website_add.sh*

Я имею, уже запустил скрипт на двух веб-сайтах. Я пытаюсь использовать замену команды относительно других сайтов как таковых:

/var/www/html# ./permissions_setup.sh $(ls -I "*.sh")

или

/var/www/html# ls -I "*.sh" $(./permissions_setup.sh)
chown: missing operand after ‘root’
Try 'chown --help' for more information.
chgrp: missing operand after ‘www-data’
Try 'chgrp --help' for more information.
chmod: missing operand after ‘750’
Try 'chmod --help' for more information.
chmod: missing operand after ‘g+s’
Try 'chmod --help' for more information.

Но никакой управляют, изменил полномочия на всех веб-сайтах. Я не интересуюсь редактированием сценария. Могут я для использования замены команды в этом сценарии?

1
задан 6 July 2015 в 00:42
1 ответ

Так как вы не хотите редактировать сценарий:

for f in $(ls -I "*.sh"); do ./permissions_setup.sh $f; done;
2
ответ дан 3 December 2019 в 20:51

Теги

Похожие вопросы