1.前言
无论什么编程语言都离不开条件判断(流控)。SHELL也不例外。
例如,用户输入的密码不够长时提示用户,你太短了
例如,用户输入了备份的目录,如果有目录继续备份,如果没有目录创建目录。
例如,用户输入成绩,如果100-80分评为优秀,如果60-79分评为合格,如果59-0分评为不合格。
2.shell条件测试
===数值比较 [ 整数1 操作符 整数2 ]
===文件测试 [ 操作符 文件或目录 ]
===字符串比较 [ "字符串" = "字符串" ]
and 和 or
3.流程控制:if
单分支结构
双分支结构
多分支结构
调试脚本
调试脚本的其他方法:
# sh -n 02.sh 仅调试脚本中的语法错误。
# sh -vx 02.sh 以调试的方式执行,查询整个执行过程
注意
4.模式匹配 case
前言
shell编程中if和case都是用来做流控的。
下面先通过一个案例1,来了解case的特点。
案例1:简单的模式匹配
邀请用户输入待删除用户名。
询问用户,确定要继续删除吗 yes/no: " y
案例2:简单的JumpServer
案例3:系统管理工具箱
linux提供的丰富的管理命令,用户管理,内存管理,磁盘管理,进程管理,日志管理,文件管理,软件管理,网络管理等等数十个工具包。
如果你能通过shell编程,把他们编写到一个程序里。想用某些功能,只需要按回车,就能完成。岂不美哉。