set命令-设置shell的执行方式

参数:

  • -a:标记已经修改的变量,以供输出至环境变量

  • -b:使被终止的后台程序立即回报执行状态

  • -C:?

  • -d:Shell预设会用杂凑表记录使用过的指令,以加速指令的执行。该参数可以取消这个操作

  • -e:若指令传回值不等于0,则立即退出shell

  • -f:取消使用通配符

  • -h:自动记录函数所在位置

  • -H:可以利用"!"加<指令编号>的方式来执行history中的历史命令

  • -k:指定所给的参数都会被视为此指令的环境变量

  • -l:记录for循环的变量名称

  • -m:使用监视模式

  • -n:只读取指令,而不实际执行

  • -p:启动优先顺序模式

  • -P:执行指令时,会以实际的文件或目录来取代符号连接。

  • -t:执行完随后的命令,立即退出shell(执行到set -t就不再继续往下执行)

  • -u:当执行时使用到未定义过的变量,则显示错误信息,并退出shell

  • -v:显示shell所读取的输入值,先打印出完整的命令

  • -x:执行命令后,会先打印出完整的命令(以“+”开头的内容)

  • +<参数> :取消某个set曾启动的参数,跟-相反

  • <>:不指定参数时,列出当前已经设置的变量,包括用户定义的变量和系统变量

示例:

# 启用e参数
set -e

# 取消e参数
set +e

最后更新于