Новый программист Linux - PullRequest
       13

Новый программист Linux

1 голос
/ 27 декабря 2011

Может кто-нибудь объяснить мне, что это значит?

LOG=/etc/security/aixpert/log/aixpert.log
exec 1>>$LOG
exec 2>&1

Я знаю, что мы входим в файл ... но что именно это делает?особенно 1, 2, >& и вообще

Ответы [ 2 ]

7 голосов
/ 27 декабря 2011

exec манипулирует файловыми дескрипторами . В частности, вы перенаправляете файловый дескриптор 1 (который соответствует C stdout) в указанный файл на диске, и вы перенаправляете файловый дескриптор 2 (stderr) в файловый дескриптор 1.

Таким образом, все заканчивается записью в файл журнала, а не выводом на консоль.

2 голосов
/ 27 декабря 2011
  • 1 >> перенаправляет общий вывод на то, что находится в $ LOG, в данном случае это лог-файл (2 стрелки означают «добавить»)
  • 2> перенаправляет общие сообщения об ошибках stderr, в данном случае, на поток 1 (см. Выше)
  • exec делает все это применимым к текущей оболочке, поэтому затрагиваются все следующие команды.
...