Страница 1 из 1

отправка вывода в /dev/null

Добавлено: 2012-10-06 22:36:46
time12345
Всем привет. Прожалуйста, разъясните что делает вторая часть команды

date >/dev/null 2>&1

Код: Выделить всё

echo $SHELL
/bin/csh
и почему при таком раскладе у меня выдается Ambiguous output redirect.

не понимаю почему бы просто не написать так вот:

date >/dev/null

Нашел такой вариент:

Код: Выделить всё

date > & /dev/null
Он работает. Но опять же, хочу понять что собственно здесь происходит, знак > понятен, вывод направляется в /dev/null но что тут делает знак амперсанда, он говорит о том что только если команда date будет успешно выполнена перенаправлять вывод в /dev/null ? а разве /dev/null не все равно?

Re: отправка вывода в /dev/null

Добавлено: 2012-10-07 10:00:07
spf
time12345 писал(а):

Код: Выделить всё

date >/dev/null 2>&1
Это работает в /bin/sh.
Означает то, что 2-ой файловый дескриптор отправить туда же, куда идет 1-ый.
1-ый - это stdout
2-ой - это stderr

Код: Выделить всё

date > & /dev/null
Это работает в /bin/csh.
Делает то же самое, что пример выше. То есть отправляет вывод ошибок туда же, куда идет стандартный вывод.