Я хочу передать вывод трассируемого сценария следующим образом:
bash -x /path/to/a/script | more
или
bash -o xtrace /path/to/a/script | more
и
bash -x /path/to/script > a_file
или
bash -o xtrace /path/to/script > a_file`
но не сработало. Поскольку это файл внутри /etc
, я не хочу его редактировать, и поскольку вывод слишком длинный, я не могу прокрутить назад, чтобы увидеть желаемый результат.
Я делаю это неправильно?
Использование:
bash -x /path/to/a/script |& more
bash
вывод xtrace записан в STDERR при передаче по каналу |
Вы просто даете STDOUT bash -x /path/to/a/script
кому: more
или любая другая команда на правой стороне |
.
|&
передаст по каналу и STDOUT и STDERR к more
таким образом, можно использовать их обоих с more
.
Поочередно, если Вы просто обеспокоены передачей по каналу xtrace
(STDERR) только, используйте это:
bash -x /path/to/script 2>&1 >/dev/null | more
При перенаправлении в файл, если Вы хотите перенаправить и вывод сценария и xtrace
выходное использование любое из следующего:
bash -x /path/to/script &>/where/to/save
bash -x /path/to/script >/where/to/save 2>&1
Если Вы хотите перенаправить только xtrace
:
bash -x /path/to/script 2>/where/to/save
bash -x /path/to/script 2> a_file
должен сделать задание, этот способ, в противоположность которому Вы передаете по каналу stderr
в файл, всего stdout
.