跟踪shell脚本中执行的shell命令(例如zsh)

时间:2011-02-15 03:01:54

标签: bash shell scripting command-line-interface zsh

给定一个构建和执行某些命令的shell脚本(包含条件,连接和插值)(在我的情况下调用ImageMagick的convert cli),是否有一种方法可以列出在该脚本中执行的命令?由于脚本多次调用convert代替args,我想得到如下列表。

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

我在OS X中使用zsh,但可以切换到bash等。

2 个答案:

答案 0 :(得分:6)

坚持

set -x

位于脚本的顶部。在bash中工作,应该在zsh中工作。

答案 1 :(得分:0)

zsh中(可能只启用了oh-my-zsh)我发现set -xsetopt xtrace会产生大量噪音。

但你也可以:

typeset -ft <function_name>

仅追踪一个功能。

将其关闭:

typeset +ft <function_name>

改编自A User's Guide to the Z-Shell