首頁  >  文章  >  運維  >  Bash Shell:測試檔案或目錄是否存在

Bash Shell:測試檔案或目錄是否存在

不言
不言原創
2019-03-22 16:03:135715瀏覽

在使用bash程式設計時,我們經常需要檢查文件是否已經存在,建立新文件,在文件中插入資料。有時我們還需要從其他腳本執行其他腳本。本篇文章將介紹關於Bash Shell:測試檔案或目錄是否存在。

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

本篇文章到這裡就已經全部結束了,更多其他精彩內容可以關注PHP中文網的Linux教學影片欄位!

以上是Bash Shell:測試檔案或目錄是否存在的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn