перенаправление на проблемы с файлом nohup и pipe

Для следующей команды:

ssh -t esolve@hostname 'sudo nohup bash -c "ls > log 2>&1 &"' 

Я всегда получал информацию об ошибке:

  nohup: ignoring input and appending output to `nohup.out' 

почему это происходит и как избежать этой информации об ошибке?

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

  stdbuf -o 0 command|& tee logfile 

для чего используется & используется?

  • Как спровоцировать сломанную трубу
  • Стандартный / канонический способ проверить, выводит ли предыдущий трубопровод выпуск?
  • Проверьте, имеют ли файлы в определенном каталоге надлежащее расширение?
  • Сломанная труба при выходе grepping, но только с флагом -i
  • ls выводит несколько столбцов, даже если отправлен в grep с помощью zml-конфигурации grml
  • BASH: проблемы с Fifo - кажется избирательным в отношении ввода
  • Как использовать функцию bash как регулярную команду в цепочке труб?
  • разрешить все IP-адреса в выводе команды с помощью стандартных инструментов командной строки
  • One Solution collect form web for “перенаправление на проблемы с файлом nohup и pipe”

    Бывает, что команда, которую вы запускаете под nohup никогда не записывает в stdout или stderr и что вы не отправляете на нее никакого ввода. Но nohup не имеет возможности это знать, поэтому он сообщает вам, что любой вход будет отброшен, и любой вывод будет записан в nohup.out .

    Чтобы этого избежать, переадресовывайте stdin, stdout nohup и stderr в /dev/null .

     ssh -t esolve@hostname 'sudo nohup bash -c "ls > log 2>&1 &" </dev/null >/dev/null 2>/dev/null' 

    Что касается |& , из руководства bash :

    Формат для конвейера

     [time [-p]] [!] command1 [ [| or |&] command2 …] 

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

    Если |& используется, стандартная ошибка команды 1 подключается к стандартным входам команды 2 через трубу; это сокращение для 2>&1 | ,

    Это расширение bash, также присутствующее в zsh.

    Linux и Unix - лучшая ОС в мире.