Трассировка команд оболочки, выполняемых внутри сценариев оболочки (например, zsh) - PullRequest
1 голос
/ 15 февраля 2011

Учитывая сценарий оболочки (с условиями, конкатенациями и интерполяциями), который создает и выполняет определенные команды (в моем случае вызовы convert cli в ImageMagick), есть ли способ перечислить команды, которые были выполнены в этом сценарии? Поскольку скрипт вызывает convert несколько раз, подставляя аргументы, я хотел бы получить список, подобный следующему.

convert ...
convert ...
convert ...
...

Я использую zsh в OS X, но могу переключиться на bash и т. Д.

Ответы [ 2 ]

6 голосов
/ 15 февраля 2011

Палка

set -x

вверху вашего скрипта. Работает в bash, должно работать в zsh.

0 голосов
/ 07 августа 2016

В zsh (возможно, только с включенным oh-my-zsh) я обнаружил, что при set -x или setopt xtrace.

возникает много шума.

Но вы также можете:

typeset -ft <function_name>

для отслеживания только одной функции.

Чтобы отключить его:

typeset +ft <function_name>

Адаптировано из Руководства пользователя для Z-Shell .

...