2

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

В настоящее время он вызывается так:

alert "Message for this current task" &

Довольно просто

Однако, когда я использую этот формат, я получаю этот вывод:

$ alert "Foobar" &
[1] 85072
$
[1]  + done       alert "Foobar"
$

Я хочу подавить вывод pid и done сообщения. Как я могу это сделать?

Я пробовал alert "Foobar" > /dev/null & но это только направляет вывод оповещения devnull.

Я попытался alert "Foobar" & > /dev/null но это привело к неожиданным плохим вещам, которые я не до конца понимаю.

Как использовать & в «тихом» режиме?

2 ответа2

3

Вы можете использовать подоболочку, чтобы избавиться от сообщений управления заданиями:

$ alias alertme="xmessage Alert!"
$ ( alertme & )
$

Если ваша запятая также выдает какой-то вывод в STDOUT и / или STDERR, передайте их в /dev/null:

$ ( alertme > /dev/null 2>&1 & )
0

Немного аккуратная версия другого ответа здесь:

(&>/dev/null alertme &)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .