Перенаправление вывода может изменить поведение программ, выполняемых в терминале. Если вы хотите перехватить весь вывод программы, используйте что-то, что не мешает работе программы, например, script
:
xterm -hold -e script -c "program arguments" output.log
(Linux) или
xterm -hold -e script output.log program arguments
(OSX, другие BSD)
Альтернативно, вы можете настроить xterm
на запись своего экрана на "принтер", например, используя ресурс printerCommand
или пункт меню Print-All Immediately.
Дальнейшее чтение:
Описание в справочном руководстве администратора Unix System 5, X/Open Руководство по переносимости и Определение интерфейса System V :
xargs — construct argument list(s) and execute command
Эти предварительные -даты по годам Вольфрама Реслера 1993 Unix Acronym List , который называет это «расширенными аргументами». Как и клон Гордона А. Моффета xargs
, опубликованный в 1986 г. , в руководстве которого говорится:
xargs — execute a command with many arguments
Однако:В то время как документация по System 5 и документация по клонированию могут привести к выводу, что да, «x» относится к «выполнить», «расширить» в соответствии со списком сокращений Unix Вольфрама Реслера на самом деле является скорее всего дело. Собственный комментарий Херба Геллиса на эту тему подразумевает, что xe написал его для расширения тогдашнего ограничения в 512 байтов на расширение имени файла в оболочке Mashey.
Херб Геллис , очевидно, все еще жив. Вы можете спросить xem. & #9786;
xargs
означает «выполнить аргументы». Некоторые команды не могут принимать ввод прямо из стандартного ввода, а только в качестве аргументов (, например. echo
, rm
). xargs
преобразует данные из стандартного ввода в исполняемые аргументы и указывает следующей команде выполнить эти аргументы.