2010-03-12 3 views

ответ

7

2>&1redirects stderr to stdout и $!"Expands to the process ID of the most recently executed background (asynchronous) command".

Итак, вот что происходит:

  1. Вы отправляете как потоки вывода из $cmd в файл с именем $outputfile. Если вы не сделали 2>&1, вы не сможете прочитать вывод stderr в файле.
  2. & означает, что процесс runs in the background.
  3. Затем вы добавляете ПИД-код $cmd (полученный через $!) до конца $pidfile.
+0

Значит, вы имеете в виду, что он фактически выполняет две команды внутри линии? – user198729

+0

Да, это так: '$ cmd' и' echo' – mouviciel