Shell Script判斷檔案或目錄是否存在

Shell Script判斷檔案或目錄是否存在

shell script 是利用 shell 的功能所寫的一個『程式 (program)』,這個程式是使用純文字檔,
將一些 shell 的語法與指令(含外部指令)寫在裡面, 搭配正規表示法、管線命令與資料流重導向等功能,
以達到我們所想要的處理目的。

檢查檔案是否存在:

1
2
3
4
5
6
7
if [ -f "/path/dir/filename" ]; then
# 檔案 /path/dir/filename 存在
echo "File /path/dir/filename exists."
else
# 檔案 /pat/dir/filename 不存在
echo "File /path/dir/filename does not exists."
fi

檢查目錄是否存在:

1
2
3
4
5
6
7
if [ -d "/path/dir" ]; then
# 目錄 /path/dir 存在
echo "Directory /path/dir exists."
else
# 目錄 /path/dir 不存在
echo "Directory /path/dir does not exists."
fi

如果檔案不存在, 便用 touch 建立檔案:

1
[ ! -f /tmp/testfile.log ] && touch /tmp/testfile.log

如果目錄不存在, 便用 mkdir 建立檔案:

1
[ ! -d /tmp/mydir ] && mkdir -p /tmp/mydir