5月30日课笔记
20.5 shell脚本中的逻辑判断
20.6 文件目录属性判断
20.7 if特殊用法
20.8/20.9 case判断linux
20.5 shell脚本中的逻辑判断shell
在工做中,不用写脚本,能够写一条命
能够不用写shell脚本,能够用一条命令代替。ide
也能够这样写,效果同样3d
写多条命令code
写一个脚本blog
把命令放到脚本里,格式化一下。it
20.6 文件目录属性判断class
判断是否是一个文件变量
判断文件是否是目录bfc
判断文件是否是目录或文件?
判断文件是否可读
判断文件是否可写,
判断的是当前用户的权限。
判断是否能够执行
由于不可执行,因此没有任何输出,也没有定义else
以上是文件和目录经常使用的方法。
如下用的比较多的写法
第3行等于第3行下面4行,&&的意思是当前面的命令执行成功后,才会执行后面的命令。若是不想写4行,能够直接用上面的命令。
||的意思,前面的命令执行不成功过,才执行后面的命令。
判断文件若是文件不存在
20.7 if特殊用法
n=wc -l /tmp/lalal
是列出/tmp/lalal的行数,若是/tmp/lalal不当心被删了,的值是空,就会出现问题。
若是脚本出现问题,那么会影响到整个项目。为了使脚本更严谨。
若是为空的写法
简化,加上exit,写为以下:
上个脚本是逻辑错误,产生了一个空的值,而后去比较。下面脚本只是一个命令有错,不是脚本有错。
if[-z“$n"]和if[-n"$n"]比较特殊,有一个必须加一个双引号,才能生效。为了避免搞混,在使用-z和-n的时候,都加“”
能够写得更严谨。! - f /tmp/lalal 是指不文件存在。
判断文件不为空,不用加双引号。
判断变量不为空,要加双引号
grep -w 能够精准过滤,grep -wq能够过滤出来,可是不输出。
grepuseradd user1 不会生效,因此不会输出。
20.8case判断(上)
20.9 case判断(下)