удар: Перенаправьте IO, но не с суффиксами

Для Дуги, использования процесса начальной загрузки init, который читает конфигурацию из /etc/initab. Настройка может также быть сделана в /etc/rc.conf, но я думаю, что необходимо будет вырыть в init сценарии, указанные в /etc/initab. Посмотрите Процесс начальной загрузки Дуги для получения дополнительной информации.

1
12.06.2012, 02:08
2 ответа

Да, но не действительно симпатичный.

Можно сделать exec 2> error.log отправить stderr в файл

Проблема состоит в том, что теперь необходимо очистить его и восстановление stderr, таким образом у основания функции необходимо сделать exec 2>&1, который делает stderr вернитесь к терминалу снова.

function XX()
{
    exec 2> error.log
    foo bar
    exec 2>&1
}

exec 2>&1не повреждает оставлять внутри, таким образом, можно просто прокомментировать и не прокомментировать первое exec.


Кроме того, Вы могли заставить целую функцию выполниться в подоболочке так, чтобы перенаправления были очищены автоматически (круглая скобка в ниже примера запускают подоболочку).

function XX()
{ (
    exec 2> error.log
    foo bar
) }

Наконец, Вы могли просто создать определение псевдонима, которое можно прокомментировать и не прокомментировать легко и просто исправить его перед объявлением функции.

alias XX='XX 2> error.log'
function XX()
{
    foo bar
}
4
27.01.2020, 23:21

Нет, но можно всегда складывать все, в чем Вы нуждаетесь в одном блоке:

function XX() {
 (
  some
  commands
  here
 ) 2>error.log
}
0
27.01.2020, 23:21

Теги

Похожие вопросы