linux shell 基础语法A-2

不问归期 提交于 2020-01-10 18:39:30

A-1讲了一些基本的语法,A2部分继续上次的内容接着讲。
shell是一门编程语言,自然也有结构化的表示方法。常见的编程语言结构化就是判断和循环。shell中的判断分为3类:数值判断,字符判断,文件判断。
判断的几种形式
If command
Then
command
Fi

If command
Then
command
Else
command
Fi

If command
Then
command
Elif command
Then
command
Else
command
fi

(1)数字判断
linux shell 基础语法A-2
实例:简单的猜数字
linux shell 基础语法A-2
(2)字符判断
linux shell 基础语法A-2
实例:判断输入的选项
linux shell 基础语法A-2
(3)文件判断
linux shell 基础语法A-2
实例:创建log文件前检查目标路径是否存在
#!/bin/bash
if [ ! -d /mnt/123testlog/2019-08-31 ]
then
mkdir -p /mnt/123testlog/2019-09-31
fi

还需要关注
If test xxxx的用法
对参数值得判断处理
复合条件判断
If [] && []
If [] || []

双括号
--双圆括号(数学表达式高级功能)
linux shell 基础语法A-2
--双方括号(字符串高级功能)
linux shell 基础语法A-2

多选择判断时使用if结构就比较繁琐了,采用case更佳
Case

Case xxx in
p1)
cmd
;;
p2)
cmd
;;
*)
default cmd
;;
Esac

处理脚本的输入参数的时候可以使用case,然后对参数进行shift进行处理
处理输入还可以使用如下,getopt和getopts的用法后面再具体介绍。
Getopt
Getopts
read

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!