Linux shell 编程文件比较

时间:2021-10-09 23:15:28

文件比较允许你测试Linux 文件系统上文件和目录的状态

比较 描述
-d file  检查file是否存在并是一个目录
-e file 检查file是否存在
-f file 检查file是否存在并是一个文件
-r file 检查file是否存在并可读
-s file 检查file是否存在并非空
-w file 检查file是否存在并可写
-x file 检查file是否存在并可执行
-O file 检查file是否存在并属当前用户所有
-G file 检查file是否存在并且默认组与当前用户相同
file1 -nt file2 检查file1 是否比file2 新
file1 -ot file2 检查file1 是否比file2 旧

jump_directory=/home/wa/

if [-d $jump_directory]

then

如果jump_directory存在并是一个目录,那么then 后面的命令将会被执行

符合条件测试

if -then 语句允许你使用布尔逻辑来组合测试,有两种布尔运算可用

[condition1] &&[condition2] 两个条件都满足,then  部分的代码才会执行

[condition1] || [condition2] 只要满足一个条件,then  部分的代码就会被执行

if -then的高级特性

bash shell提供了两项可以在if -then 语句中使用的高级特性:

  • 用于数学表达式的双括号
  • 用于高级字符串处理功能的双方括号

使用双括号

符号 描述
var++  后增
var-- 后减
++var 先增
--var  先减
逻辑求反
位求反
** 幂运算
<< 左位移
>> 右位移
& 位布尔和
| 位布尔或
&& 逻辑和
|| 逻辑或

var1=10

if (($var1**2>90))

then

((var2=$var1*2))