Как записать действия bash в файл?

Я знаю, что есть способ записать выходные данные оболочки bash в файл. Тем не менее, я хочу знать, какие команды были выполнены приложением, поскольку некоторые из этих выполнений не выводятся в виде вывода оболочки.

Итак, есть ли способ записать команды, включая выходные данные, которые были выполнены в файл?

2
задан 1 May 2012 в 23:25

2 ответа

Если вы запустите скрипт bash, вызвав его с помощью:

bash -x yourbashscript.sh

, вы увидите как команды, так и выходные данные, выдаваемые командами run.

0
ответ дан 1 May 2012 в 23:25

Если вы выполните свой сценарий с помощью -x (например, bash -x <script>), вы увидите все выходные данные. Если вы хотите запустить его как обычно, не видя вывода (но также перенаправить его в файл), вы можете сделать bash -x <script> 2>/dev/null

Обычно бит -x печатает в stderr (2), а не в stdout (1). ).

Вы можете set -x из скрипта, где вы хотите (и set +x, когда нет) и перенаправить все STDERR в файл, как указано выше (scriptname.bash 2>coolfile.txt).

В дальнейшем вам придется прибегнуть к Perl или Python.

0
ответ дан 1 May 2012 в 23:25

Другие вопросы по тегам:

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