На моем сервере nohup sleep 1 > nohup.out &
не выдает справочного сообщения.Хорошо.
Запустив ту же команду на моем ноутбуке, я получаю: nohup: ignoring input and redirecting stderr to stdout
.Хотя команда все еще выполняется и завершается правильно, я не понимаю, почему существует разница в сообщении этого сообщения между двумя моими машинами.К счастью, однако, я могу решить эту проблему на своем ноутбуке, просто перенаправив stderr и stdout в файл: nohup sleep 1 &> nohup.out &
Итак ... я пытаюсь реализовать более полезную команду намой ноутбук:
На моем сервере нормально работает следующее, и сообщений не сообщается:
nohup ls -1 *.txt | sed -e "s%\(.*\)%/home/user/scripts/script.pl -find \1 %" | sh > nohup.out &
Эта строка кода "nohups" передает по конвейеру список файлов в sed, гдеони последовательно запускаются через script.pl
и выполняются в оболочке.script.pl
печатает данные в несколько файлов, а также печатает некоторую информацию на стандартный вывод.Я фиксирую эту информацию, записывая ее в файл с именем nohup.out
Теперь, когда я запускаю эту однострочную версию на своем ноутбуке, я получаю nohup: ignoring input and redirecting stderr to stdout
.Это ожидается (но по неизвестным мне причинам).Но когда я изменяю строку для перенаправления stderr и stdout:
nohup ls -1 *.txt | sed -e "s%\(.*\)%/home/user/scripts/script.pl -find \1 %" | sh &> nohup.out &
я все равно получаю сообщение nohup: ignoring input and redirecting stderr to stdout
Как я могу исправить свою однострочную работу так, чтобы она работалана моем ноутбуке без получения сообщения?