【linux命令讲解大全】204.Shell命令解析:set命令的用法和参数详解

2024-03-02 14:44:44 浏览数 (2)

set

显示或设置 shell 特性及 shell 变量

补充说明

set 命令作用主要是显示系统中已经存在的 shell 变量,以及设置 shell 变量的新变量值。使用 set 更改 shell 特性时,符号 - 的作用分别是打开和关闭指定的模式。set 命令不能够定义新的 shell 变量。如果要定义新的变量,可以使用 declare 命令以变量名=值的格式进行定义即可。

语法

代码语言:javascript复制
set(选项)(参数)

选项

  • -a:标示已修改的变量,以供输出至环境变量。
  • -b:使被中止的后台程序立刻回报执行状态。
  • -C:转向所产生的文件无法覆盖已存在的文件。
  • -d:Shell 预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用 -d 参数可取消。
  • -e:若指令传回值不等于 0,则立即退出 shell。
  • -f:取消使用通配符。
  • -h:自动记录函数的所在位置。
  • -H Shell:可利用 !<指令编号> 的方式来执行 history 中记录的指令。
  • -k:指令所给的参数都会被视为此指令的环境变量。
  • -l:记录 for 循环的变量名称。
  • -m:使用监视模式。
  • -n:只读取指令,而不实际执行。
  • -p:启动优先顺序模式。
  • -P:启动 -P 参数后,执行指令时,会以实际的文件或目录来取代符号连接。
  • -t:执行完随后的指令,即退出 shell。
  • -u:当执行时使用到未定义过的变量,则显示错误信息。
  • -v:显示 shell 所读取的输入值。
  • -x:执行指令后,会先显示该指令及所下的参数。

参数

取消某个 set 曾启动的参数。

实例

使用 declare 命令定义一个新的环境变量 mylove,并且将其值设置为 Visual C ,输入如下命令:

代码语言:javascript复制
declare mylove='Visual C  '   #定义新环境变量

再使用 set 命令将新定义的变量输出为环境变量,输入如下命令:

代码语言:javascript复制
set -a mylove                 #设置为环境变量

执行该命令后,将会新添加对应的环境变量。用户可以使用 env 命令和 grep 命令分别显示和搜索环境变量 mylove,输入命令如下:

代码语言:javascript复制
env | grep mylove             #显示环境变量值

此时,该命令执行后,将输出查询到的环境变量值。

0 人点赞