所以我有一个文件 deploy.sh ,它具有外壳程序脚本。既然我知道这一点,我就有一点困惑,那就是set -x
的实际含义。
运行文件后,我观察到在文件中写入的命令在终端中以 + 符号被提及。
就像我有这个一样,
#!/bin/bash
set -x
ng build
因此,输出中提到了+ng build
,当我从文件中注释set -x
时,所有内容都会执行,但是后面的命令不会显示在终端中。
我已经对此进行了研究,但具体找不到该特定命令的真正含义和工作。
我们非常感谢您的帮助。先谢谢了。
答案 0 :(得分:4)
您可以为bash
阅读set
online manual:
-x
打印简单命令的痕迹,对于命令,大小写命令,选择 命令,以及命令及其参数的算术运算,或 关联的单词列表在展开后和之前 被执行。 PS4变量的值被扩展,结果 值将显示在命令及其扩展参数之前。
所以它完全符合您的描述。
答案 1 :(得分:1)
很难找到,但这来自bash手册页:
def my_view(request):
if request.method == 'POST':
form = DateRangeForm(request.POST)
if form.is_valid():
qs = MyModel.objects.filter(date__range=(
form.cleaned_data['start_date'],
form.cleaned_data['end_date']
))
# do something
else:
# do something
pass
else:
# do something
pass
因此,基本上,这是一个调试选项。它不仅执行所有命令,而且在执行它们之前将它们打印出来(到stderr)。