shell脚本
交互式shell 输入一条指令,执行一条
批处理shell 一次性处理真个shell脚本
查看所有的shell解释器:cat /etc/shells
查看当前的shell解释器:echo $SHELL
SHELL = 脚本声明 + 注释信息 + 可执行语句
脚本声明 #!: 指定使用哪个解释器
注释 #:对可执行语句的介绍
可执行语句:执行的具体指令
执行shell 脚本的三种方法
./ 脚本文件路径 :./shell
sh 脚本文件路径: sh shell
source 脚本文件路径: source shell
shell接收用户参数:sh shell脚本 参数1 参数2 参数3
$1-9,${10},${11} 获取参数位置的参数
$# 总共有多少个参数
$* 所有位置变量的值
$? 判断上一条是否执行成功
文件判断 [ 操作符 文件/目录 ] 两边有空格
-d 是否为目录
-e 文件/目录是否已经存在
-f 判断是否为文件
-r 当前用户是否有权限读
-w 当前游湖是否有权限读写
-x 测试当前用户是否有权限执行
//获取可使用的内存区域
FreeMem=`free -m | grep cache: | awk '{print $3}'`
free -m 查看内存使用量 grep cache: 获取带有'cache:'的这一行 awk '{print $3} 只保留第三列
控制流语句
单分支结构
if [条件]
then [操作]
fi
双分支结构
if [条件]
then [操作]
else [操作]
fi
#!/bin/bash# -c 3 数据包个数 -i 0.2 秒发送一个数据包 -W 三秒没发送完就超时ping -c 3 -i 0.2 -W 3 $1 &> /dev/nullif [ $? -eq 0 ]then echo "Address : $1 is up"else echo "Address : $1 is down"fi
多分支结构
if [条件]
then [操作]
elif [条件]
then [操作]
else [操作]
fi
#!/bin/bash# 输入变量read -p "Enter you score " scoreif [ $score -lt 0 ] || [ $score -gt 100 ]then echo "you score is $socre fial"elif [ $score -ge 90 ] && [ $score -le 100 ]then echo "you score excellent"elif [ $score -lt 90 ] && [ $score ge 70 ]then echo "you score pass"else
循环结构
for [变量名] in [取值列表]
do[操作]
done
while [条件]
do[操作]
done
选择语句
case [操作值] in
【条件1】)
命令序列1
;;
【条件2】)
命令序列2
;;
* )
默认命令序列
esac

浙公网安备 33010602011771号