shell脚本命令

变量

变量的定义

	变量名称=值

​	= 赋值符号

​	a=8 正确叫法:把8赋值给变量a

​	值  一般是常量,比如8 就是8,不会发生变化

​	变量的值是可以变的,所以叫变量

变量名称组成规则

只能由数字、字母和下划线组成,不能以数字开头

尽量做到见名知意
​比如:name student_num

test命令

另一种写法 [ ]

数字比较

-gt    greater than            大于
-ge    greater than or equal   大于等于
-lt    less than               小于
-le    less than or equal      小于等于
-ne    not equal               不等于
-eq    equal                   等于

文件比较

是否存在
-e  exist   判断文件是否存在
[ -e  /etc/passwd ]
文件类型
-f  file    判断文件是否是一个普通文件
-d  directory   目录文件
-L或者-h symbolic link    符号链接文件
-b  block     块设备文件
-c  character  字符设备文件
-p  pipe    管道文件
-s  socket  套接字文件

文件权限

-r  判断文件是否有读的权限
-w        写权限
-x        执行权限

字符串比较

=  判断两个字符串是否相等
[ "hello" =  "hello"  ]

!= 判断连个字符串是否相等
[  "hello" !=  "hello" ]

-z  zero  判断两个字符长度是否为0
[ -z   "hello"   ]

-n  nonezero  判断两个字符串的长度是否为非0
[ -n  "hello" ]

每个test命令的结果都是一个bool(布尔)值
布尔值:0真 1假

使用  echo $? 查看test命令布尔值

bool 运算
全真为真 有假为假

&& 与运算符号
1 && 11 && 00 && 00 && 1

或运算
有真为真 全假为假

 ||  或运算符号

多表达式测试

写法1
[root@agent01 test]# [ -n "hello" ] && [ 5 -gt 3 ]
[root@agent01 test]# [ -n "hello" ] || [ 5 -gt 7 ]

写法2:
[ -n "hello"  -a  5 -gt 3 ]
-a and
[ -n "hello"  -o  5 -gt 3 ]
-o or

判断

if  命令 ;then
	命令1
	命令2
fi

if [ 1 -lt  3 ];then
	echo  hello 
else
	echo  error
fi
输出结果为:hello

if嵌套

if .. ;then
	命令
	fi .. ;then
		命令
	fi
fi

循环

语法:
for 变量名称 in 值1  值2  值3
do
	#循环体
	命令1
	命令2
done

for循环嵌套

#vim a.sh
for i in 1 2 3
do
  for  m  in s1  s2
  do
    echo $m
  done
done

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值