linux shell if else 语句判断与参数

linux shell if else 语句判断与参数

Path="/Path"
File="/Path/file.log"

# 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
if [ ! -x "$Path"]; then
  mkdir "$Path"
fi

# 这里的-d 参数判断$myPath是否存在
if [ ! -d "$Path"]; then
 mkdir "$Path"
fi

# 这里的-f参数判断$File是否存在
if [ ! -f "$File" ]; then
 touch "$File"
fi
# 其他参数还有-n,-n是判断一个变量是否是否有值
if [ ! -n "$var" ]; then
 echo "$var is empty"
 exit 0
fi

# 两个变量判断是否相等
if [ "$var1" = "$var2" ]; then
 echo '$var1 eq $var2'
else
 echo '$var1 not eq $var2'
fi
  1. -a 文件存在
  2. -b 文件存在并且是块特殊文件。
  3. -c 文件存在,是一个字符特殊文件。
  4. -d 文件存在并且是一个目录。
  5. -e 文件存在(与-a相同)。
  6. -f 文件存在且是常规文件。
  7. -g 文件存在并设置了setgid(2)位。
  8. -G 文件存在且与此进程具有相同的组ID。
  9. -k 文件存在并设置了粘滞位。
  10. -L 文件存在并且是符号链接。
  11. -n 字符串长度不为零。
  12. -o 已设置命名选项。
  13. -O 文件存在并由此进程的用户标识拥有。
  14. -p 文件存在,是先进先出(FIFO)特殊文件或命名管道。
  15. -r 文件存在且可由当前进程读取。
  16. -s 文件存在且大小大于零。
  17. -S 文件存在且是一个套接字。
  18. -t 文件描述符号fildes已打开并与终端设备相关联。
  19. -u 文件存在并设置了setuid(2)位。
  20. -w 文件存在且可由当前进程写入。
  21. -x 文件存在且可由当前进程执行。
  22. -z 字符串长度为零。
  23. -nt 判断file1是否比file2新 [ "/data/file1" -nt "/data/file2"]
  24. -ot 判断file1是否比file2旧 [ "/data/file1" -ot "/data/file2"]

转载于:https://my.oschina.net/u/3756690/blog/2050714

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值