set是一个shell内部命令,用于开启或关闭shell功能属性,如果什么都不加,则直接显示用户自定义变量和环境变量

语法:set [选项...]

选项:

-f:禁用通配符

+f:启用通配符

-u:如果脚本中有未设置的变量,则立即让脚本退出执行并显示错误信息

   +u:如果“-u”选项设置,则关闭“-u”选项的功能

-e:如果命令执行失败,则立即退出(终端或脚本)

   +e:如果“-e”选项设置,则关闭“-e”选项的功能

-m:启用作业控制

   +m:关闭作业控制

-v:显示shell输入行

   +v:如果“-v”选项设置,则关闭“-v”选项的功能

-x:在执行时显示命令及其参数

   +x:如果“-x”选项设置,则关闭“-x”选项的功能

-n:用于检查语法;在脚本中,读取命令,但不执行

   +n:如果“-n”选项设置,则关闭“-n”选项的功能

-H:启用“![编号]、!!”调用历史命令(默认开启)

   +H:关闭“![编号]、!!”调用历史命令

-C:如果设置,不允许覆盖现有的常规文件通过重定向输出

   +C:如果“-C”选项设置,则关闭“-C”选项的功能

-P:如果设置,执行命令时不要遵循软链接;而是直接进入软链接所指向的目录

   +P:如果“-P”选项设置,则关闭“-P”选项的功能

    -o:特殊选项

        history:启用历史命令

        ignoreeof:禁用“Ctrl+D”退出shell;要想退出,则需使用“exit”

        interactive-comments:在交互式默认下,#用来做注释(默认开启)

 

例:

   禁用系统通配符

wKioL1l1p-jzfOlSAAA3OtDXspI014.png


开启通配符

wKiom1l1qJjhjJ8ZAAAYY2UfCPU543.png


命令执行失败退出

wKioL1l1qK7C5uAMAAFGscj0jy0409.jpg


显示shell输入行

wKiom1l1qMXyE80oAAGZKnnCa54626.jpg


禁止用!调用历史命令

wKiom1l1qOfz8_RZAAEyIGXa1OI824.jpg

禁用覆盖重定向

wKiom1l1qQST-ViAAAEhQx4d3sw191.jpg