Answers:
从man bash
(是的,这是一个很大的手册页,通常Google搜索速度更快):
-x
展开每个简单命令(对于命令,大小写命令,选择命令或对命令的算术)后,显示PS4的扩展值,然后显示该命令及其扩展的参数或关联的单词列表。
有效:运行脚本时,它将显示该脚本中完成的所有操作。因此,所有ifs,循环和命令都将运行。对于调试非常有用。
-v
读取时打印外壳输入行。运行脚本时,它将在读取文件时打印整个脚本。交互式使用外壳程序时,按Enter键后将显示每个命令。
上面的引号来自的set
内置命令的说明,该说明man bash
还说明的选项set
也可以作为参数传递(在shebang行上):
除非另有说明,否则这些选项默认情况下处于关闭状态。使用
+
而不是-
导致这些选项被关闭。 也可以将选项指定为调用Shell的参数。 当前的选项集可以在中找到$-
。除非遇到无效的选项,否则返回状态始终为true。
/-x
几次,您就会到达那里man
(实际上是less
)。您可以使用/
+向上箭头重复上一次搜索,但是您必须向下翻页才能使屏幕上出现任何当前搜索(/
向前搜索,?
向后搜索)。
n
正向搜索和N
反向搜索,可以更轻松地搜索下一个匹配。
test -x
在条件表达式(第三击)下查看的,不是set -x
。-x
in man bash
是一个非常糟糕的情况,因此获得更具体的帮助:如果使用/^\s+-x\b
,(=行首+空格+ -x
+单词边界),您将获得正确的5分之一的匹配...本来应该是4,但事实x
匹配X
...这使我想到了一个我一直想问的问题。无论如何,带大多数手册页的^\s+-x\b
模式应该首先尝试进行切换。
bash手册页的确暗示了这些选项的详细说明,但实际上很容易被忽略。
因此,您的问题应实际阅读:bash手册页的OPTIONS部分不完整。答案是复制它们,或突出显示OPTIONS部分的第一部分:
OPTIONS
All of the single-character shell options documented in the descrip‐
tion of the set builtin command can be used as options when the shell
is invoked. [ ... ]
最后,要完成此操作:它们是任何POSIX Shell的标准选项,用于在读取(-v
)和运行(-x
)时显示脚本的代码。输出将出现在stderr上。