linux5月30课笔记

5月30日课笔记
20.5 shell脚本中的逻辑判断
20.6 文件目录属性判断
20.7 if特殊用法
20.8/20.9 case判断

20.5 shell脚本中的逻辑判断

linux5月30课笔记

在工作中,不用写脚本,可以写一条命
可以不用写shell脚本,可以用一条命令代替。
linux5月30课笔记

也可以这样写,效果一样
linux5月30课笔记

写多条命令
linux5月30课笔记

写一个脚本
linux5月30课笔记

把命令放到脚本里,格式化一下。
linux5月30课笔记

linux5月30课笔记

linux5月30课笔记

20.6 文件目录属性判断
linux5月30课笔记
linux5月30课笔记

判断是不是一个文件
linux5月30课笔记

linux5月30课笔记

linux5月30课笔记

linux5月30课笔记

判断文件是不是目录
linux5月30课笔记

linux5月30课笔记
判断文件是不是目录或文件?
linux5月30课笔记

linux5月30课笔记

linux5月30课笔记

判断文件是否可读
linux5月30课笔记

linux5月30课笔记

判断文件是否可写,
linux5月30课笔记

linux5月30课笔记
判断的是当前用户的权限。

判断是否可以执行
linux5月30课笔记

因为不可执行,所以没有任何输出,也没有定义else
linux5月30课笔记
以上是文件和目录常用的方法。

以下用的比较多的写法

第3行等于第3行下面4行,&&的意思是当前面的命令执行成功后,才会执行后面的命令。如果不想写4行,可以直接用上面的命令。
linux5月30课笔记

||的意思,前面的命令执行不成功过,才执行后面的命令。
linux5月30课笔记

判断文件如果文件不存在
linux5月30课笔记

20.7 if特殊用法

linux5月30课笔记

n=wc -l /tmp/lalal 是列出/tmp/lalal的行数,如果/tmp/lalal不小心被删了,的值是空,就会出现问题。

linux5月30课笔记

如果脚本出现问题,那么会影响到整个项目。为了使脚本更严谨。
linux5月30课笔记

如果为空的写法
linux5月30课笔记

简化,加上exit,写为如下:
linux5月30课笔记

上个脚本是逻辑错误,产生了一个空的值,然后去比较。下面脚本只是一个命令有错,不是脚本有错。
linux5月30课笔记

if[-z“$n"]和if[-n"$n"]比较特殊,有一个必须加一个双引号,才能生效。为了不搞混,在使用-z和-n的时候,都加“”

可以写得更严谨。! - f /tmp/lalal 是指不文件存在。
linux5月30课笔记

判断文件不为空,不用加双引号。
linux5月30课笔记

判断变量不为空,要加双引号
linux5月30课笔记

grep -w 可以精准过滤,grep -wq可以过滤出来,但是不输出。
linux5月30课笔记

grepuseradd user1 不会生效,所以不会输出。
linux5月30课笔记

20.8case判断(上)
linux5月30课笔记

linux5月30课笔记

linux5月30课笔记
linux5月30课笔记

20.9 case判断(下)

猜你喜欢

转载自blog.51cto.com/461565/2125251