默认情况下,单独运行 set
命令将返回当前设置的变量及其值的列表,包括 Bash 可执行文件位置、版本信息和 PATH 等环境变量。
该命令的使用是当你查看执行的命令时。如果你是程序员,这可以帮助你调试 Bash 脚本以查看它们是否在特定命令上失败。
为此,请执行 set -x
或 set -o xtrace
,这将打开命令跟踪。虽然命令本身不输出任何内容,但后续命令将在执行前打印出来。在命令中使用大括号扩展(最近的 Bash 功能)很有帮助。
如果你有删除编号 TXT 文件的命令,启用 set
命令跟踪将显示大括号的扩展形式以及该目录中的所有 TXT 文件。
user@linux:~$ set -x user@linux:~$ cd /tmp + cd /tmp user@linux:~$ # example of expansion (and comments do not print out in traces) user@linux:~$ touch {1..5}.txt + touch 1.txt 2.txt 3.txt 4.txt 5.txt user@linux:~$ rm -f *.txt + rm -f *.txt user@linux:~$ # however, asterisk globs do not expand.
set -e
set -e
它使得脚本只要发生错误,就终止执行