这时可以暂时关闭set -e,该命令执行结束后,再重新打开set -e。 set +e command1 command2 set -e 上面代码中,set +e表示关闭-e选项,set -e表示重新打开-e选项。 还有一种方法是使用command || true,使得该命令即使执行失败,脚本也不会终止执行。 #!/bin/bash set -e foo || true echo bar 上面代码...
初见set是这个命令set -x,出现在运行集群训练代码的bash脚本中,不知道它的作用是什么。查看了参考资料后知道了它的作用:即-x 执行指令后,会先显示该指令及所下的参数。 至此,作用描述完毕,但还是读者一定还是没有直观的感受。下面用一个实验测试一下: 可以看到,配置了set -x之后,运行ls ~命令,shell输出了参数...
建议通过将set -x命令添加到shell脚本来启用调试模式,如下所示: [root@localhost ~]# cat test3.sh #!/bin/bash set -x echo "Hello World!" mkdiir testing 然后运行脚本查看: [root@localhost ~]# sh test3.sh + echo 'Hello World!' Hello World! + mkdiir testing test3.sh: line 4: mkdiir...
set -x用来在运行结果之前,先输出执行的那一行命令。 #!/usr/bin/env bashset-xechobar 执行上面的脚本,结果如下。 $ bash script.sh +echobar bar 可以看到,执行echo bar之前,该命令会先打印出来,行首以+表示。这对于调试复杂的脚本是很有用的。 -x还有另一种写法-o xtrace。 set-o xtrace 四、Bash...
2、脚本执行过程 3、set 3.1 set -u 3.2 set-x 3.3 set -e 3.4 set -o pipefail 3.5 总结 3.6 取消Bash参数调优 1、简述 Linux服务器脚本开发和运维管理常使用Bash脚本,经常遇到以下场景: 未定义变量shell内默认设置为空,导致未定义变量被滥用;
set命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。本文介绍它的基本用法,让你可以更安心地使用 Bash 脚本。 set 简介 Bash 执行脚本的时候,会创建一个新的 Shell。 $ bash script.sh 1. 上面代码中, script.sh是在一个新的 Shell 里面执行...
0. set -x -e -u -o pipefail 在写脚本时,在一开始(Shebang 之后)加上下面这一句,或者它的缩略版,能避免很多问题,更重要的是能让很多隐藏的问题暴露出来: 下面说明每个参数的作用,以及一些例外的处理方式 : -x:在执行每一个命令之前把经过变量展开之后的命令打印出来。
1、如何在Bash脚本中使用断点? 答:可以使用set -x命令在脚本中设置断点,或者使用Bashdb或Debugger插件进行更详细的调试。 2、如何使用trap命令捕获错误? 答:可以使用trap 'command' ERR的形式来捕获脚本执行过程中的错误,并在发生错误时执行指定的命令。
set -x用来在运行结果之前,先输出执行的那一行命令。 #!/usr/bin/env bashset-xechobar 执行上面的脚本,结果如下。 $ bash script.sh+echobar bar 可以看到,执行echo bar之前,该命令会先打印出来,行首以+表示。这对于调试复杂的脚本是很有用的。
set-x echo"today is :"$(date +'%Y-%m-%d') set+x echo"end..." 修改之后的脚本加入了PS4变量, 它是调试信息的前缀,默认值是"+", 我们可以修改它的值,达到输出的调试信息中包含行号的目的 上述代码中"${BASH_SOURCE}"表示 当前执行的shell脚本的相对路径,在这里用来表示脚本文件名,"${LINENO}"表示...