У меня есть куча команд 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
, но это привело к неожиданным плохим последствиям, которые я не до конца понимаю.
Как использовать &
«тихий» режим?
решение1
Чтобы избавиться от сообщений управления заданиями, можно использовать подоболочку:
$ alias alertme="xmessage Alert!"
$ ( alertme & )
$
Если ваша команда также выводит какие-либо данные в STDOUT и/или STDERR, направьте их в /dev/null
:
$ ( alertme > /dev/null 2>&1 & )
решение2
Немного более аккуратная версия другого ответа здесь:
(&>/dev/null alertme &)