Мне приходится экспериментировать с Solaris. Я обычно перенаправляю с помощью 2> / dev / null
, который работает в Solaris в целом, но не с этими двумя способами выполнения рекурсивных "greps" в Solaris.
# no errors, but doesn't actually redirect "permission denieds" to /dev/null
/usr/sfw/bin/ggrep -rni test / 2>/dev/null
# errors
find / -type f -exec grep test {} + 2>/dev/null
find: bad option 2
find: [-H | -L] path-list predicate-list
Может ли кто-нибудь пролить свет на это?
2> / dev / null
работает в Solaris, как и любой другой вариант Unix. Это особенность оболочки (перенаправление вывода ошибок с помощью 2>
) плюс функция, которая существует для всего, что даже отдаленно напоминает Unix ( / dev / null
как универсальный поглотитель).
Описанное вами поведение показывает, что вы используете оболочку, в которой 2>
не является оператором перенаправления. Предположительно, вы используете csh. Решение - не использовать csh . Csh была лучшей интерактивной оболочкой 80-х, но сейчас уже не 80-е. Нет причин использовать csh в Solaris больше, чем в любом другом варианте Unix. Используйте ksh или, если вы хотите более удобную работу с командной строкой, zsh или bash.