Shell实战训练营Day7
文件目录属性判断
[ -f file ] 判断是否为普通文件,且存在
[ -d dir ] 判断是否为目录,且存在
[ -e file ] 判断文件或目录是否存在
[ -r file ] 判断文件是否可读
[ -w file ] 判断文件是否可写
[ -x file ] 判断文件是否可执行*
[ ! -f file ] 取反 表示不存在
if的特殊用法
if [ -z "$a" ] 表示当变量a的值为空
if [ -n "$a" ] 表示当变量a的值不为空
if grep -wq 'word' file;then..... if可以结合其他命令使用,本列表示 若file文件中有包含word的行
if [ ! -e file ] ; then.... 表示问价不存在的时候执行then....
if (($a<1)) ; then.....等同于 if [ $a -lt 1 ];then.....
[ ] 中部支持 < ,>, >=,<=,!=,==符号 可以使用 lt gt le ge ne eq
case 用法
格式
case 变量名 in
value1)
command
;;
value2)
command
;;
.*)
command
;;
esac
在case程序中,可以在条件中使用 | 逻辑关系
条件1|条件2)
;;
case 用法举例 #!/bin/bash read -p "please input a number :" n # 输入并捕获 if [ -z "$n" ] then echo "please input a number." exit 1
fi
n1=
echo $n|sed 's/[0-9]//g'#将变量n中全部数字替换为空然后赋值給n1
if [ ! -z "$n1" ] # 判断n1是否为空 此举判断输入是否为纯数字
then
echo "please input a number."
exit 1
fi
if [ $n -lt 60 ] &&[ $n -gt 0 ]
then
tag=1
elif [ $n -gt 60 ] && [ $n -lt 80 ]
then
tag=2
elif [ $n -gt 80 ] && [ $n -lt 90 ]
then
tag=3
elif [ $n -gt 90 ] && [ $n -le 100 ]
then
tag=4
else
tag=0
fi
case $tag in
1)
echo bjige
;;
2)
echo jige
;;
3)
ehco lianghao
;;
4)
echo youxiu
.*)
echo "please input number rage 1-100"
esac
for 循环
语法
for 变量名 in 条件;do.....;done
举例
#!/bin/bash
sum =0
for i in
seq 1 100
do
sum=$[$sum+$i]
done
echo sum
举例
#!/bin/bash
cd /etc
for a in
ls /etc/
do
if [ -d $a ]
then
ls $a
fi
done
- shell实战训练营Day5
- shell训练营 Day7
- shell实战训练营Day4
- shell实战训练营Day1
- shell实战训练营Day3
- shell实战训练营Day6
- Shell Scripts 简单实战 (二)
- 2017最新企业Shell面试题及企业运维实战共30道案例
- Shell脚本编程实战之:Web页面更新脚本
- 全国第二届Revit开发实战训练营在北京圆满落幕
- 实战模拟监控MySQL服务shell脚本小结
- 企业实战Shell-MySQL分库分表备份脚本 【转】
- SHELL实战day3
- 实战模拟监控MySQL服务shell脚本小结
- shell 脚本实战笔记(11)--Mysql在linux下的安装和简单运维
- Shell编程之case语句实战(小结)
- 【备忘】2017年最新DS206人脸识别与分析系统实战训练营硅谷讲师授课高清视频教程全套附讲义代码 4周
- 2017最新企业Shell面试题及企业运维实战共30道案例
- 企业Shell实战-MySQL分库分表备份脚本