#bash #csh
#bash #csh
Вопрос:
Я пытаюсь перевести следующую команду cshell в bash, но я не уверен, что она делает и как я могу перевести ее в bash.
./runall |amp; fold -w 80 |amp; tee ${log_file}
Любая помощь приветствуется,
Ted
Ответ №1:
foo |amp; bar
выполняется foo
с его stdout и stderr, передаваемыми по конвейеру в stdin bar
.
Эквивалент bash является foo 2>amp;1 | bar
.
Итак, для вашей команды это должно быть (непроверено):
./runall 2>amp;1 | fold -w 80 2>amp;1 | tee ${log_file}
(Фигурные скобки в ${log_file}
на самом деле не нужны, но они безвредны, и некоторые считают их хорошей идеей; это верно как для csh, так и для bash.)