3

Когда вы запускаете команду find для файлов, для которых у вас нет разрешений, вы получаете досадные ошибки "Permission denied", которые загромождают вывод.

Википедия предлагает следующее исправление:

Если вы делаете это как пользователь, отличный от root, вы можете игнорировать ошибки, связанные с отказом в разрешении (и любые другие). Поскольку ошибки выводятся в stderr, их можно подавить, перенаправив вывод в /dev /null. В следующем примере показано, как это сделать в оболочке bash:

find / -name "myfile" -type f -print 2>/dev/null 

Я знаю, что могу что-то добавить к команде, поэтому я могу использовать псевдоним ll , например, ls -lah . Могу ли я установить псевдоним в .bash_profile для добавления 2>/dev/null в конец любой команды find ?

1 ответ1

1

Здесь я бы порекомендовал создать скрипт с приведенной выше строкой, предложенной Wikipedia. Затем я бы установил этот скрипт для запуска с помощью chmod. Поместите этот скрипт в свой домашний каталог или любой другой каталог в вашей переменной $ PATH или добавьте каталог, который вы создаете, где бы вы ни находились, с вашими пользовательскими сценариями в вашу переменную PATH. Затем вы можете просто набрать сценарий, где вы хотите, например, "myfind"

Если вы правильно установите переменную PATH, вы можете даже назвать свой скрипт "find", так как оболочка выполнит первый найденный экземпляр. Чтобы убедиться, что вы используете "право" "найдите", используйте команду "который".

Дайте мне знать, если вам нужно больше разъяснений, после самостоятельного прочтения руководства.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .