在使用bash編程時,我們經常需要檢查文件是否已經存在,創建新文件,在文件中插入數據。有時我們還需要從其他腳本執行其他腳本。本篇文章將介紹關于bash shell:測試文件或目錄是否存在。
1、bash shell:測試文件是否存在
如果我們需要添加一些內容或者需要從腳本創建文件。首先,確保該文件是否已經存在。例如,我的一個腳本在file/tmp/testfile.log中創建日志,我們需要確保該文件是否存在。
#!/bin/bash ? if?[?-f?/tmp/testfile.log?] then ????echo?"File?exists" fi
以上語句也可以使用test關鍵字編寫,如下所示
#!/bin/bash ? if?test?-f?/tmp/testfile.log then ????echo?"File?exists" fi
或者在一行中我們可以寫成如下所示。在shell腳本編寫時,這非常有用。
[?-f?/tmp/testfile.log?]?&&?echo?"File?exists"
在上面的命令中添加其他部分
[?-f?/tmp/testfile.log?]?&&?echo?"File?exists"?||?echo?"File?not?exists"
2、bash shell:測試目錄是否存在
有時我們需要在一個特定的目錄中創建文件,或者需要目錄。我們都應該確保該目錄存在。例如,我們現在檢查/ tmp / mydir是否存在。
#!/bin/bash ? if?[?-d?/tmp/mydir?] then ????echo?"Directory?exists" fi
以上語句也可以使用test關鍵字編寫,如下所示
#!/bin/bash ? if?test?-d?/tmp/mydir then ????echo?"Directory?exists" fi
或者在一行中我們可以寫成如下所示
[?-d?/tmp/mydir?]?&&?echo?"Directory?exists"
3、Bash Shell:如果不存在則創建文件目錄
這是在創建文件之前檢查文件是否存在的最佳方法,否則將可能收到錯誤消息。這在運行時創建shell腳本所需的文件或目錄時非常有用。
文件:
[?!?-f?/tmp/testfile.log?]?&&?touch?/tmp/testfile.log
目錄:
1????[?!?-d?/tmp/mydir?]?&&?mkdir?-p?/tmp/mydir
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END