-x选项: 概念:在bash脚本中,-x选项是一种调试选项,可以用于在执行脚本时显示脚本中每个命令的执行情况。 优势:通过使用-x选项,可以方便地跟踪脚本的执行过程,检查是否有错误或者了解脚本中的具体执行流程。 应用场景:-x选项通常用于调试和排查脚本中的问题,特别是在遇到脚本执行异常或无法达到预期效果时,可以使用该...
$ bash -x script-name $ bash -x domains.sh 使用set 内置命令 bash shell提供调试选项,可以打开或关闭使用set 命令: set -x: 显示命令及其执行时的参数。 set -v: 显示 shell 输入行作为它们读取的 可以在 shell 脚本本身中使用上面的两个命令: #!/bin/bash clear # turn on debug mode set -x for...
0. set -x -e -u -o pipefail 在写脚本时,在一开始(Shebang 之后)加上下面这一句,或者它的缩略版,能避免很多问题,更重要的是能让很多隐藏的问题暴露出来: 下面说明每个参数的作用,以及一些例外的处理方式 : -x:在执行每一个命令之前把经过变量展开之后的命令打印出来。 这个对于 debug 脚本、输出 Log 时...
初见set是这个命令set -x,出现在运行集群训练代码的bash脚本中,不知道它的作用是什么。查看了参考资料后知道了它的作用:即-x 执行指令后,会先显示该指令及所下的参数。 至此,作用描述完毕,但还是读者一定还是没有直观的感受。下面用一个实验测试一下: 可以看到,配置了set -x之后,运行ls ~命令,shell输出了参数...
bash的-x参数可以在执行每一行命令之前,打印该命令。这样就不用自己输出执行的命令,一旦出错,比较容易追查。 下面是一个脚本script.sh。 # script.sh echo hello world 1. 2. 加上-x参数,执行每条命令之前,都会显示该命令。 $ bash -x script.sh
set-x echo"today is :"$(date +'%Y-%m-%d') set+x echo"end..." 修改之后的脚本加入了PS4变量, 它是调试信息的前缀,默认值是"+", 我们可以修改它的值,达到输出的调试信息中包含行号的目的 上述代码中"${BASH_SOURCE}"表示 当前执行的shell脚本的相对路径,在这里用来表示脚本文件名,"${LINENO}"表示...
通过第一种方式执行脚本时, 加上-x选项即可debug脚本. 输出的结果中, 以+开头的行就是debug输出的信息. $cattest.sh #!/bin/bash echo"Time:$(date)" echo"User:$USER" echo"Home:$HOME" $ bash -x test.sh ++date +echo'Time: Mon 11 Jul 2022 11:29:37 PM CST' ...
禁用Python脚本跟踪,相当于在bash中关闭-x,即禁用调试模式。 Python是一种高级编程语言,可以用于开发各种应用程序,包括前端和后端开发。在Python的开发过程中,有时候需要对脚本进行调试和跟踪,以便更好地理解程序执行过程中的问题。在bash中,可以通过使用-x选项来启用脚本的调试模式,这样可以显示每一步执行的详细信...
DEBUG set +x #关闭"-x"选项 1. 2. 3. 对"-x"选项的增强 "-x"执行选项是目前最常用的跟踪和调试shell脚本的手段,但其输出的调试信息仅限于进行变量替换之后的每一条实际执行的命令以及行首的一个"+"号提示符,居然连行号这样的重要信息都没有,对于复杂的shell脚本的调试来说,还是非常的不方便。幸运的是...
set -x用来在运行结果之前,先输出执行的那一行命令。 #!/usr/bin/env bash set -x echo bar 执行上面的脚本,结果如下。 $ bash script.sh + echo bar bar 可以看到,执行echo bar之前,该命令会先打印出来,行首以+表示。这对于调试复杂的脚本是很有用的。