shell变量

 

1、变量分类

 系统变量: $HOME、$PATH、$PWD等。

 自定义变量:用户定义的变量

 

2、变量定义的语法

      定义:变量名=值(不能有空格)

      撤销:unset  变量名

      静态变量:readonly  变量名=值(不能unset)

image.png

image.png



3、命名规则

      1)字母、数字、下划线,不以数组开头

      2)等号两边不能有空格

      3)变量一般大写

 

4、变量赋值Linux指令

1)变量名=`指令`(` `为反引号)

2)变量名=$(指令)

image.png

image.png


5、环境变量设置

     1)export   变量名=值(设置环境变量)

     2)source  配置文件  (配置文件生效)

     3)echo     $变量名      (打印配置变量)


image.png

image.png


6、位置参数变量

      对终端命令行中的参数处理,类似java中的方法调用。

      $n: n为数字,0指命令自身,1~n为参数位置,10以上${n}

     $*: 所有的参数显示、每个参数当成整体

      $@: 所有的参数显示、每个参数当成个体

      $#: 显示一共多少个参数

image.png


image.png


7、预定义变量

        事先定义好的变量

     $$:当前进程的id

     $!:后台的最后一个进程id

     $?:最后一次执行的命令返回状态,0为正确执行。


mytest.sh中:

image.png


mytest02.sh中:

image.png


image.png


8、变量运算符

1)表达式:变量= $[数字或者参数运算+、-、*、/等]

2)expr表达式:变量=`expr 表达式`

   (运算符前后必须有空格、乘法\*)

image.png

image.png