在bash中,运行:
$ set -x $ rm * + rm foo bar
而在zsh中set -x并不做同样的事情。简而言之,bash中的set -x允许您看到您在shell中真正在做什么。我在本地运行zsh。是否有命令可以做同样的事情?我应该补充一点,zsh的问题是它发送了大约30行我不想要或不需要的输出,我只想知道shell对我的命令做了什么。
set -x
vtwuwzda1#
在zsh中与set -x等效的值是setopt xtrace
setopt xtrace
$ setopt xtrace $ rm * rm foo bar $ unsetopt xtrace
使用unsetopt xtrace关闭显示器您还可以使用PS4提示符定制输出。例如,显示行号
unsetopt xtrace
PS4
$ PS4='+%L: ' $ setopt xtrace $ rm * +7: rm foo bar
ujv3wf0j2#
从zsh的man zshoptions:
man zshoptions
XTRACE (-x, ksh: -x) Print commands and their arguments as they are executed. The output is preceded by the value of $PS4, formatted as described in the section EXPANSION OF PROMPT SEQUENCES in zshmisc(1).
在实践中:x一个一个一个一个x一个一个二个x
2条答案
按热度按时间vtwuwzda1#
在zsh中与
set -x
等效的值是setopt xtrace
使用
unsetopt xtrace
关闭显示器您还可以使用
PS4
提示符定制输出。例如,显示行号ujv3wf0j2#
从zsh的
man zshoptions
:在实践中:
x一个一个一个一个x一个一个二个x