Shell脚本------变量

目录

一、shell脚本的变量

1、shell脚本的变量是什么?

2、变量的作用

3、变量作用范围

3.1、临时设置

3.2永久设置,需要在/etc/profile文件里添加

4、删除变量

5、变量基础

6、变量命名要求

7、特殊符号

8、整数运算

9、expr算术表达式

二、特殊变量

1、预定义变量

2、环境变量

3、位置变量

三、test

1、test:测试表达式是否成立  成立则为0    不成立则为1

2、[操作符  条件表达式]

3、整数的数值的比较

举例1、比较两个整数的大小

举例2、查看系统内存是否低于1024m,低于则提示

举例3、查看当前目录下的文件数是否大于10 如果大于,则进行提示

4、字符串比较

举例

5、逻辑测试(短路运算)


一、shell脚本的变量

1、shell脚本的变量是什么?

变量是计算机语言中能储存计算结果或能表示值的抽象概念。保存将来会变化的数据,即使数据变化,直接调用变量即可。

shell变量用来存放系统和用户需要使用的特定参数,而且这些参数可以根据用户的设定或系统环境的变化响应变化。通过使用变量,shell程序能够提供更加灵活的功能,适应性更强。

2、变量的作用

变量是用来存放系统和用户需要使用的特定参数

①变量名:使用固定的名称,由系统预设或用户定义

②变量值:能够根据用户设置,系统环境的变化而变化

3、变量作用范围

默认情况下,新定义的变量只在当前的shell环境中有效,因此被称为局部变量。当进入子程序或新的子shell环境时局部变量将无法在使用。

可以通过内部命令export将指定的变量导出为全局变量,使用用户定义的变量在所有的子shell环境中能够继续使用。

格式:
export 变量名=变量值

3.1、临时设置

Shell脚本------变量_第1张图片

3.2永久设置,需要在/etc/profile文件里添加

vim /etc/profile
export PATH+=:/mnt
[root@localhost data]#source /etc/profile
[root@localhost data]#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/data:/mnt

4、删除变量

unset 加变量名

Shell脚本------变量_第2张图片

5、变量基础

定义变量:变量名=变量值

调整变量:echo$变量名

取消变量:unset变量名

追加变量:变量名+=追加的内容

export变量 可以让子进程也可以使用变量

6、变量命名要求

1、区分大小写

2、不能使用数值开头

7、特殊符号

①双引号""可以识别变量

②单引号''不能识别变量

③反撇号:命令替换,提取命令执行后的输出结果和$(...)相同

④{}:定义变量名的范围

read -p 从键盘输入的内容变成变量

8、整数运算

运算符号:+-/*\%(取余数)

9、expr算术表达式

let 变量名=变量一运算符号 变量二

echo $变量名

变量名=$[算术表达式]

echo $变量名

(变量名=算术表达式)

echo $[RANDOM] 取随机数 范围是0-32767

echo $[RANDOM%33] 取0-32 的随机数

echo $[RANDOM%33+1] 取1-33的随机数

二、特殊变量

1、预定义变量

 $*      返回所有的位置参数,所有参数当作一个整体返回

               $@    返回所有的位置参数,所有参数当作个体返回

               $?      表示前一条命令执行的返回状态,返回值为0表示正确,返回任何非0值均表示出现异常

               $#      表示命令行中位置参数的总个数

               $0       表示当前执行的脚本或程序的名称

               $$        当前bash的进程id

               $!        后台任务最后一个id

2、环境变量

env 看到所有的环境变量

                 $USER 表示用户名称

                 $HOME 表示用户的家目录

                 $LANG  表示语言和字符集

                 $PWD    表示当前所在工作目录

                 $PATH    表示可执行用户程序的默认路径

3、位置变量

位置变量也称为位置参数,使用$1 $2 $3 ...$9 $0表示当前脚本的文件名称

三、test

1、test:测试表达式是否成立  成立则为0    不成立则为1

test [操作选项] 条件表达式

Shell脚本------变量_第3张图片

2、[操作符  条件表达式]

Shell脚本------变量_第4张图片

3、整数的数值的比较

格式[整数1 操作符 整数2]

常见的测试操作符号

操作符 含义
-eq 等于(Equal)
-ne 不等于(Not Equal)
-lt 小于(Leser Than)
-gt 大于(Greater Than)
-le 小于或等于(Lesser or Equal)
-ge 大于或等于(Greater or Equal)
举例1、比较两个整数的大小

Shell脚本------变量_第5张图片

举例2、查看系统内存是否低于1024m,低于则提示

Shell脚本------变量_第6张图片

举例3、查看当前目录下的文件数是否大于10 如果大于,则进行提示

Shell脚本------变量_第7张图片

4、字符串比较

格式:
[ "字符串1" = "字符串2" ] 			#判断是否相等
[ "字符串1" != "字符串2" ] 			#判断是否不等
[ -z "字符串" ]                     #判断字符串内容是否为空
[ -n "字符串" ]                     #判断字符是否存在
举例

Shell脚本------变量_第8张图片

5、逻辑测试(短路运算)

  • -a或&&:逻辑与,“而且”的意思全真才为真
  • -o或||:逻辑或,“或者”的意思一真即为真
  • !:逻辑否
[ 表达式1 ] && [ 表达式2 ] 等同于 [ 表达式1 -a 表达式2 ] 等同于 [[ 表达式1 && 表达式2 ]] 
 
[ 表达式1 ] || [ 表达式2 ] 等同于 [ 表达式1 -o 表达式2 ] 等同于 [[ 表达式1 || 表达式2 ]] 

你可能感兴趣的:(linux,git,运维)