Изменить разрешение всех perl программ в unix - PullRequest
1 голос
/ 06 мая 2020

Мне нужно использовать подстановку команд, предоставляя команду для изменения разрешений всех Perl программ с расширениями .pl на 755. Когда я пытаюсь использовать команду:

chmod 755 `find $HOME -name "*.pl"`

, я получаю

chmod: missing operand after ‘755’

Что я сделал не так?

1 Ответ

2 голосов
/ 06 мая 2020

Это означает, что вы выполнили chmod 755, что означает, что find $HOME -name "*.pl" ничего не вернуло.


Обратите внимание, что следующие лучше, потому что они не рискуют выйти за пределы лимита на длина командной строки, и они обрабатывают метасимволы оболочки (например, пробелы) в значении $HOME и в путях, возвращаемых find:

find "$HOME" -name "*.pl" -exec chmod 755 {} +         # GNU find required.
find "$HOME" -name "*.pl" | xargs -r chmod 755         # Doesn't support LF in file names.
find "$HOME" -name "*.pl" -print0 | xargs -r0 chmod 755
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...