использование </dev/null и в командной строке

В дополнение к уже упомянутым Максимумам другой видимой опцией является Аксиома. Однако мое впечатление - то, что доля завоеванного внимания Максимумов и база пользователей больше, чем Аксиома. Однако я не думаю или о них, имеют функциональность, сопоставимую с Mathematica или Maple. С другой стороны, Mathematica, по крайней мере, вполне активно разрабатывается и продолжает улучшаться.

12
30.12.2011, 04:51
2 ответа

< /dev/null используется для мгновенной отправки EOF в программу, так, чтобы это не ожидало входа (/dev/null, пустое устройство, специальный файл, который отбрасывает все данные, записанные в него, но сообщает, что операция записи, за которой следуют, и, не предоставляет данных никакому процессу, который читает из него, приведя к EOF сразу). & специальный тип разделителя команды, привыкшего к фону предыдущий процесс.

Не зная называемую программу, я непосредственно не знаю, почему она требуется выполнить его таким образом.

21
27.01.2020, 19:54

</dev/null разъединяет вход программы от терминала. Некоторые программы реагируют по-другому в зависимости от того, с чем подключен их стандартный вход. С перенаправлением </dev/null, программа может сказать, что ее вход не прибывает из терминала и сразу получит признак конца файла, если она пытается читать из своего стандартного входа.

Одинокое & в конце заставляет программу выполняться в фоновом режиме. Это означает возвращение приглашения оболочки сразу. Без &, Вы вернули бы приглашение оболочки только, когда программа заканчивает выполняться.

Обратите внимание что автономное & не связано с >&. >& оператор перенаправления (в tcsh, ударе и zsh), который перенаправляет и стандартный вывод программы и стандартную погрешность программы к имени файла, указанному после оператора (здесь log).

Другими словами, что делает оболочка, когда она видит, эта командная строка:

  • Запустите процесс в фоновом режиме. В фоновом режиме процесс:
    • Подключите стандартный вход с /dev/null (пустое устройство).
    • Соедините и стандартный вывод и стандартную погрешность в названный файл log (создание файла, если это еще не существует, и усечение его, если это существует).
    • Ищите названный исполняемый файл java в $PATH.
    • Выполните тот файл с этими 5 аргументами -cp, /home/weka.jar, weka.classifiers.trees.J48, –t, train_file'.
6
27.01.2020, 19:54

Теги

Похожие вопросы