变量

Nnpxmj.png

变量

自定义变量

定义变量

变量名=变量值

引用变量

$变量名

把变量 num 的值付给变量 i

显示变量

使用 echo 命令可以显示单个变量取值

清除变量

使用 unset 命令清除变量

变量的其它用法:

从键盘输入一个字符串付给变量 string

定义一个只读变量, 只能在定义时初始化, 以后不能改变, 不能被清除。

使用 export 说明的变量, 会被导出为环境变量, 其它 shell 均可使用

注意: 此时必须使用下面命令 才可以生效

注意事项:

变量名只能包含英文字母下划线, 不能以数字开头

等号两边不能直接接空格符, 若变量中本身就包含了空格, 则整个字符串都要用双引号、 或单引号括起来;

双引号内的特殊字符可以保有变量特性, 但是单引号内的特殊字符则仅为一般字符

栗子 : var.sh

image-20200801125332281

环境变量

shell 在开始执行时就已经定义了一些和系统的工作环境有关的变量, 我们在 shell 中可以直接使用$name 引用

定义:

一般在~/.bashrc/etc/profile 文件中(系统自动调用的脚本) 使用 export 设置,

允许用户后来更改 , 一般, 所有环境变量均为大写

显示所有的环境变量

清除环境变量

常见环境变量:

保存注册目录的完全路径名

保存用冒号分隔的目录路径名, shell 将按 PATH 变量中给出的顺序搜索这些目录, 找到的第一个与命令名称一致的可执行文件将被执行。

主机名

默认的 shell 命令解析器

此变量保存登录名

当前工作目录的绝对路径名

栗子 : export2.sh

image-20200801125413452

预设变量

传给 shell 脚本参数的数量

传给 shell 脚本参数的内容

运行脚本时传递给其的参数, 用空格隔开

命令执行后返回的状态

用于检查上一个命令执行是否正确 ( 在 Linux 中, 命令退出状态为 0 表示该命令正确执行, 任何非 0 值表示命令出错)。

当前执行的进程名

当前进程的进程号

变量最常见的用途是用作临时文件的名字以保证临时文件不会重复

栗子 : $.sh

image-20200801125502921

脚本变量的特殊用法: "" `` ' () {}

(双引号): 包含的变量会被解释

(单引号): 包含的变量会当做字符串解释

反引号): 反引号中的内容作为系统命令, 并执行其内容, 可以替换输出为一个变量

转义字符:

同 c 语言 \n \t \r \a 等 echo 命令需加-e 转义

( 命令序列 ):

由子 shell 来完成, 不影响当前 shell 中的变量

{ 命令序列 }:

在当前 shell 中执行, 会影响当前变量

栗子 : var_spe.sh

image-20200801125540280

Last updated

Was this helpful?