一、if、case、for语句用法
1.for语句用法
for 变量 in 列表;do
语句1
语句2
…
done
注:if语句必须有退出条件
2.单分支if语句:
if 条件;then
语句1
语句2
fi
3.双分支if语句:
if 条件;then
语句1
语句2
…
else
语句1
语句2
…
fi
4.bash条件判断之多分支if语句:
语法格式:
if 条件1;then
语句1
语句2
…
elif 条件2;then
语句1
语句2
…
elif
条件3;then
语句1
语句2
…
else
语句1
语句2
…
fi
二、bash 变量类型
1.本地变量:只对当前shell进程有效,对其子shell及其他shell都无效
2.局部变量:local VAR_NAME=Value 只对代码段有效,不包含当前shell所有位置
3.环境变量:export VAR_NAME=Value,对当前shell及其子shell有效
4.位置变量:$1..4:对应参数位置引用
5.特殊变量:
$?:用于保存刚刚执行命令的执行状态返回值
$@,$*:所有位置参数;
$#:位置参数的个数;
shift:实现位置参数轮替
三、bash变量相关命令
1.查看环境变量:printenv、export、
2.查看变量:set
3.声明变量:declare
4.变量引用:${VAR_NAME},大多数时候{}可以省略
四、bash脚本之条件测试
1.整数测试
大于:-gt
小于:-lt
等于:-eq
大等:-ge(大于等于,下同)
小等:-le
不等:-ne
2.字符测试
大于:>
小于:<
等于:==
=~:判断左边字符是否与右边模式匹配 [[ "Shell" =~ ell$ ]]
-z $STRING:为空则为真,不空则为假
-n $STRING:为空则为假,不空则为真
3.组合条件测试
-a:与
-o:或
!:非
4.命令组合测试
&&:与;想要运行第二个条件,第一个条件必须为真
||:或;想要运行第二个条件,第一个条件必须为假
!:非
五、bash测试之文件测试
-f:测试其是否为普通文件,
-d:测试其是否为目录文件
-e:测试文件是否存在;存在为真,不存在为假
-r:测试文件对当前用户是否可读
-w:测试文件对当前用户是否可写
-x:测试文件对当前用户是否可执行
-s:测试文件大小是否不空,不空这真,空则假
-l:测试文件是否为符号链接文件
例:如果/tmp/test10不存在,就创建之;
if [ !-e /tmp/test10 ];then
mkdir /tmp/test10
fi
六、练习
1:写一个脚本,实现如下功能:如果用户存在,就说明其存在
#!/bin/bash
#
UserName=user1
if
id $UserName &> /dev/null;then
echo "$UserName exists."
fi
2:写一个脚本,实现如下功能:如果设备/dev/sda3已经挂载,就显示其挂载点
#!/bin/bash
#
Device=/dev/sda1
if
grep "$Device" /etc/mtab &> /dev/null;then
grep
"$Device" /etc/mtab | cut -d' ' -f2
fi