Как стать автором
Обновить

Комментарии 7

Целевая аудитория — системные администраторы linux.

А разве на Windows 10 (после летнего обновления) так делать нельзя будет?
Ну и на Windows Server 2016.

Я не разжигаю срач, мне просто для самообразования интересно, насколько широко можно bash будет применять в будущей серверной операционной системе.
Я так же понимаю, что есть PowerShell, VBS, WMI. Но хочется знать конкретно про bash.

Спрашиваю здесь в надежде, что специалисты по bash всё же не только Linux используют.
Если не ошибаюсь, logger входит в пакет rsyslog, поэтому, если запилят его под убунтой в Windows10, проблем не должно быть
В Windows есть свой очень годный «рсуслог» с евентами и реакцией на прилетающие в логи евенты.
Баш дается исключительно для удобства работы — так как администрировать win логичнее на его штатных средствах — а по мощи Powershell с его обьектами и всей дурью дотнета + использования удалённых powershell/wmi обьектов на других серверах стоит рядом по крутости с любом нормальным ЯП, вроде питона или руби, и со всей мощью 'ansible', впридачу.
Писать на баше под винду можно, никто не запрещает, но это не торт для админства windows.
Плюс стоит учитывать, что windows сервера кроме редких задач живут в core mode с минимумом вообще всего, кроме предустановленной на нём роли
На самом деле, нужно добавить к выводу STDERR, потому, как сообщения об ошибках пишутся именно в него:

exemple.sh 2&>1 > exemple.sh.log
Не правильно. У вас идет вывод stdout в файл, а stderr попадет на stdout (к тому же опечатка, "&" должен идти после ">", а не перед), т.е. stderr в файл не попадет. Нужно делать наоборот, т.к. перенаправление «читается» справа налево:
exemple.sh >exemple.sh.log 2>&1
А еще лучше и проще делать так:
exemple.sh &>exemple.sh.log
тогда сразу и stderr и stdout пойдут в файл.

Пояснение на примере
$ (echo "stdout" ; echo "stderr" >&2 )
stdout
stderr
$ (echo "stdout" ; echo "stderr" >&2 ) 2>&1 >/dev/null
stderr
$ (echo "stdout" ; echo "stderr" >&2 ) >/dev/null 2>&1
$ (echo "stdout" ; echo "stderr" >&2 ) &>/dev/null



Как-то truezemez разъяснял более подробно.
Вы кончено, правы, благодарю за замечание. Исправил.
Не за что :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории