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