shell脚本:交互式、批处理
脚本名称:脚本注释;脚本命令
脚本声明:谁能读得懂 , #!/bin/bash
接收用户的参数:$0 表示当前shell脚本的名称
$# 表示总共有多少个参数
$* 表示所有参数的参数值,如果无值则为空
$数字 表示第几个参数的值,如果无值则为空
$? 表示上一次命令执行的返回值
测试语句:[ 条件表达式 ] 两边必须有空格间隔
-d是否为目录;-f是否为文件;-e是否存在;
-r/w/x 是否有读/写/执行权限
例:[ -d /etc/fstab ] 是目录则返回0,不是则返回非0值
逻辑语句:与(&&),如果两条命令,执行成功第一条才会继续第二条
或( || ),如果两条命令,第一条执行成功,则不会执行第二条
非( !),执行结果取反
例:[ ! -d /etc] && echo "hello" || echo "world" 结果:world
整数比较:
大于等于:-ge 大于:-gt
小于等于:-le 小于:-lt 等于:-eq
字符串比较:
= 比较两个字符串内容是否相同
!= 比较两个字符串内容是否不同
-z 判读字符串是否为空
if语法:
if 条件测试语句
then 命令序列1
注:如果then和if写在一行,在then前加;
elif 条件测试语句
then 命令序列2
else
命令序列3
fi
For语法:
for 变量名 in 取值列表
do
命令序列
done
while语法:
while 条件测试操作
do
命令序列
done
case语法:
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列1
;;
*)
默认命令序列
esac