-x表示xtrace,-v表示详细。
在研究时,我发现bash -x“扩展命令”,而-v在执行之前将整个命令打印到stdout。
我在测试时看到的唯一区别是bash -v也会显示每个命令的注释。
这真的是唯一的区别吗?有人可以详细说明吗?
答案 0 :(得分:1)
从手册:
-v Print shell input lines as they are read. -x Print commands and their arguments as they are executed.
在查看管道命令的处理方式时,您可以看到这种区别:
$ set -v
$ echo "Hello World" | sed 's/World/Earth/'
echo "Hello World" | sed 's/World/Earth/'
Hello Earth
与
$ set -x
$ echo "Hello World" | sed 's/World/Earth/'
+ sed s/World/Earth/
+ echo 'Hello World'
Hello Earth
此外,似乎xtrace(-x)使用$ PS4变量,而verbose(-v)则不使用。