set -x与set +x指令
用于脚本调试。set是把它下面的命令打印到屏幕
set -x 是开启 set +x是关闭 set -o是查看 (xtrace),set去追中一段代码的显示情况。
执行set -x后,对整个脚本有效。
[root@mybox bin]# ls -l /bin/bash
+ ls --color=tty -l /bin/bash
-rwxr-xr-x 1 root root 722684 Jul 12 2006 /bin/bash
针对一部分script,可以选择 set -x 和 set +x配套使用。比如在一个脚本里:
set -x # activate debugging from here
w
set +x # stop debugging from here
---------------------------------------------------------------------------------------------
set指令能设置所使用shell的执行方式,可依照不同的需求来做设置
-a 标示已修改的变量,以供输出至环境变量。
-b 使被中止的后台程序立刻回报执行状态。
-C 转向所产生的文件无法覆盖已存在的文件。
-d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。
-e 若指令传回值不等于0,则立即退出shell。
-f 取消使用通配符。
-h 自动记录函数的所在位置。
-H Shell 可利用"!"加<指令编号>的方式来执行history中记录的指令。
![](data:image/png;base64,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)
#################里面的+H应该是写错了!########################
-k 指令所给的参数都会被视为此指令的环境变量。
-l 记录for循环的变量名称。
-m 使用监视模式。
-n 只读取指令,而不实际执行。
-p 启动优先顺序模式。
-P 启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。
-t 执行完随后的指令,即退出shell。
-u 当执行时使用到未定义过的变量,则显示错误信息。
-v 显示shell所读取的输入值。
-x 执行指令后,会先显示该指令及所下的参数。
+<参数> 取消某个set曾启动的参数。
阅读(1555) | 评论(0) | 转发(0) |