内容:
条件表达式
if条件语句
case条件结构语句
练习题
其他补充说明
条件表达式
#1.文件判断
判断文件是否存在
判断文件是否存在,返回方式
判断目录是否存在
使用变量的方法进行判断
#2.字符串判断
1.对于字符串的测试,一定要将字符串加双引号之后再进行比较。
2.空格为空
-z 判断字符串长度
-n 判断字符串长度
"串 1" == " 串 2 " 使用定义变量的方式进行判断
#3.整数判断
判断两数是否相等
大于等于
小于
大于
不等于
#4.逻辑符号
逻辑操作符与整数判断配合
取反
两边都为真
至少有一边为真
#5.【练习题】比较2个整数大小
要求:
- 分别以定义变量,脚本传参以及read读入的方式写3个脚本。
- 用条件表达式(禁止if语句)进行判断。
- 将2个整数的比较结果输出到屏幕,出错需要提示。
使用定义变量方法
使用传参方法
使用read读入
if条件语句
条件表达式和if语句可以互相转换
#1.三种语法
单分支语句
双分支语句
多分支语句
单分支:一个条件一个结果
双分支:一个条件两个结果
多分支:多个条件多个结果
#2.【练习题1】输入2个数字,比较大小(使用if语句结合条件表达式实现)
3个脚本:使用直接赋值,传参,read任一种方法写3种脚本(单分支,双分支,多分支)
示例脚本一:
示例脚本二:
示例脚本三:
case条件结构语句
case语法结构
case "字符串变量" in
值1)
指令1
;;
值2)
指令2
;;
值*)
指令n
esac
#1.case值的书写方式
apple)
echo -e "$RED_COLOR apple $RES"
;;
也可以这样写,输入2种格式找同一个选项
apple|APPLE)
echo -e "$RED_COLOR apple $RES"
;;
#2.case语句小结
case语句就相当于多分支的if语句。case语句的优势是更规范、易读。
case语句适合变量的值少,且为固定的数字或字符串集合。(1,2,3)或(start,stop,restart)。
系统服务启动脚本传参的判断多用case语句,多参考rpcbind/nfs/crond脚本;菜单脚本也可以使用
#3.【练习题】使用case编写一个菜单脚本
#4.写脚本规范及注意事项
1.变量名称不能和系统已经存在的命令等重复 free == > Free;
2. 判断单位要统一
3. 脚本一行不超过一屏的一半。
4. 能写成变量的内容尽量写成变量
#5.if 与 case 对比
if 语句类似黑名单,需要把这种错误场景封堵
case 语句类似白名单,只要把正确结果列完整即可
脚本练习【练习跑通后再补充...】
其他补充说明
#1.linux中产生随机数的方法
#2.echo 命令输出带颜色字符
彩色字体
彩色底纹
特效字体
#3.显示文本中的隐藏字符
使用cat命令查看文本中的隐藏字符
[root@clsn ~]# cat --help
用法:cat [选项]... [文件]...
将[文件]或标准输入组合输出到标准输出。
-A, --show-all 等于-vET
-b, --number-nonblank 对非空输出行编号
-e 等于-vE
-E, --show-ends 在每行结束处显示"$"
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与-vT 等价
-T, --show-tabs 将跳格字符显示为^I
-u (被忽略)
-v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外
使用cat -A查看隐藏的字符
#4.排错技巧
sh -x 脚本.sh
-x 开启脚本调试模式
cat -A 文件.txt
-A 查看文件的隐藏字符
#5.shell 脚本段注释方法
方法一:
<<EOF
内容
EOF
方法二:
一行注释方法 → : '内容'
段注释方法 ↓
:'
http://blog.znix.top
'
:命令的应用场景
if 条件
then
:
else
命令
fi
#6.其他补充
类进度条效果
yum install -y pv
echo {1..20}|pv -qL 15
clear 命令
清屏 == ctrl + l