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"]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章