</dev/null
отключает вход программы от терминала. Некоторые программы реагируют по-разному в зависимости от того, к чему подключен их стандартный вход. С помощью перенаправления </dev/null
программа может сказать, что ее ввод не поступает от терминала, и сразу же получит указание конца файла, если попытается прочитать со своего стандартного ввода.
Одиночество &
в конце заставляет программу выполняться в фоновом режиме. Это означает, что вы сразу получите запрос оболочки. Без &
, вы получите приглашение оболочки только тогда, когда программа завершит выполнение.
Обратите внимание, что автономный не &
имеет отношения к >&
. >&
является оператором перенаправления (в tcsh, bash и zsh), который перенаправляет как стандартный вывод программы, так и стандартную ошибку программы на имя файла, указанное после оператора (здесь log
).
Другими словами, что делает оболочка, когда видит эту командную строку:
- Запустите процесс в фоновом режиме. В фоновом процессе:
- Подключите стандартный вход
/dev/null
( нулевое устройство ).
- Подключите как стандартный вывод, так и стандартную ошибку к вызываемому файлу
log
(создавая файл, если он еще не существует, и обрезая его, если он существует).
- Ищите исполняемый файл с именем
java
в $PATH
.
- Выполнить этот файл с 5 аргументов
-cp
, /home/weka.jar
, weka.classifiers.trees.J48
, –t
, train_file`.
Жиль "ТАК - прекрати быть злым"
источник