如何檢查文件或目錄是否存在於 Bash Shell 腳本中

如何檢查文件或目錄是否存在於 Bash Shell 腳本中

從 Bash 腳本檢查文件或目錄是否存在

Bash 用於在 Linux 中自動執行定期執行的命令。用於對文件/目錄進行操作的命令是非常常用的,通常在我們執行這樣的命令之前,我們需要檢查特定的文件或目錄是否存在。讓我們看看如何執行此檢查。

語法和用法

文件

要檢查文件是否存在,請使用以下語法:

[ -f  ]

該表達式[ -f ]返回 0,即如果存在則成功,如果不存在則返回非零狀態。通常,這在if語句中用作條件。

if [ -f  ]
then
  
fi

要否定返回值,只需在 前面-f加上否定運算符 ( !)。

if [ ! -f  ]
then
  
fi

在這種情況下,如果文件不存在,則條件將滿足,因為返回的非零狀態 (false) 將被否定並被視為 0 (true)。

如何檢查文件或目錄是否存在於 Bash Shell 腳本中

如何檢查文件或目錄是否存在於 Bash Shell 腳本中

請注意,如果要檢查的文件在當前目錄中不存在而存在於其他目錄中,則應提及文件的完整路徑,而不僅僅是文件名。

目錄

用於檢查文件的類似語法用於檢查目錄。

[ -d  ]

與文件語句類似,如果目錄存在,則此語句返回0,即成功,如果目錄不存在,則返回非零,即失敗狀態。這也常用於if語句條件中。

if [ -d  ]
then
  
fi

要否定返回的狀態,請在 前面-d加上否定運算符 ( !)。

if [ ! -d  ]
then
  
fi

在這種情況下,如果目錄不存在,則條件將滿足(狀態 0),如果目錄存在,則將失敗(狀態非零)。

如何檢查文件或目錄是否存在於 Bash Shell 腳本中

如前所述,對於文件,如果要檢查的目錄存在於其他位置而不是當前目錄,則需要輸入整個目錄路徑,而不僅僅是目錄名稱。

💡[...]這裡使用的括號語法 ( ) 實際上是一個名為test. 選項-f-d是此命令的功能。有關詳細信息,請參閱測試 ( man test)的手冊頁。

從 Bash 腳本檢查

在上面的例子中,我們直接在終端上使用了語法。當 shell 遇到循環或條件語句(if在我們的例子中)時,它會繼續提示並讓用戶輸入 continue 塊。

可以在 Bash 腳本內部使用相同的語法。

如何檢查文件或目錄是否存在於 Bash Shell 腳本中

在 #!/bin/bash 一開始指定在執行該文件時要使用的解釋。儘管 Bash 是當今最常用的 shell,但有些用戶確實更喜歡zshbash這樣的 shell  ,應該在此文件的開頭指定它來代替 bash。

 為此文件授予執行權限,請運行:

chmod +x test.sh

最後, 要執行文件,請運行:

./test.sh
Tags: #猛擊

如何在 Chromebook 上複製和粘貼

如何在 Chromebook 上複製和粘貼

在切換到 Chromebook 時,您可能想知道的第一件事是如何做基本的事情——你在以前的操作系統中掌握的那種東西。複製和粘貼是您必須在某一時刻使用的一項基本功能。

如何使用 tt 在 Linux 上進行打字測試

如何使用 tt 在 Linux 上進行打字測試

在現代科技時代,打字已成為許多職業最常見的活動之一。學會更快更準確地打字可以幫助您在相同的時間內完成更多的工作。

Wi-Fi 在 Ubuntu 上不工作?這是修復方法

Wi-Fi 在 Ubuntu 上不工作?這是修復方法

Ubuntu 因其健壯性和相對較少的錯誤而廣受歡迎。但它肯定不是沒有問題。其中一個問題是其 Wi-Fi 驅動程序。您可能會打開系統電源,卻發現您的 Wi-Fi 無法正常工作。

2020 年適用於 Ubuntu 的最佳免費視頻編輯器

2020 年適用於 Ubuntu 的最佳免費視頻編輯器

除了所有的絨毛,這裡列出了適用於 Ubuntu 的最佳免費視頻編輯器,您可以使用它們來創建令人驚嘆的視頻。

如何在 Chromebook 上創建和掃描二維碼

如何在 Chromebook 上創建和掃描二維碼

快速響應碼,簡稱 QR 碼,是一種高級條碼,包含比傳統條碼更多的信息。這些代碼是二維的,允許您垂直或水平掃描它們。

如何在 Arch Linux 中安裝和刪除軟件包

如何在 Arch Linux 中安裝和刪除軟件包

想在 Arch Linux 上安裝軟件包但不知道如何安裝?很多人第一次從基於 Debian 的發行版遷移到 Arch 時都會遇到這個問題。但是,您可以使用包管理器輕鬆管理基於 Arch 的系統上的包。

如何在 Linux 上安裝 Spotify

如何在 Linux 上安裝 Spotify

Spotify 是最大的音樂流媒體服務之一。它具有適用於移動(Android 和 iOS)和桌面(Mac 和 Windows)設備的本機客戶端。

9 個讓你開始使用 Linux 的基本命令

9 個讓你開始使用 Linux 的基本命令

Linux 操作指南通常希望您在終端中執行某些操作,這乍一看似乎令人生畏。但不要擔心;這個 Linux 命令備忘單將涵蓋打開終端和發出一些有用命令的過程。

如何使用 Mv 命令移動 Linux 文件

如何使用 Mv 命令移動 Linux 文件

雖然您可能已經知道如何使用 GUI 文件瀏覽器在 Linux 中移動文件,但您可能想知道終端中是否有移動命令可以讓您快速將文件移動到不同的目錄。mv 命令就是您想要的,它的簡單語法和一些可選的安全標誌易於使用。

如何在 Ubuntu 的“Alt-Tab”中取消組合 Windows

如何在 Ubuntu 的“Alt-Tab”中取消組合 Windows

默認情況下,Ubuntu 允許您切換應用程序而不是窗口。以下是如何在 Ubuntu 上的 Alt-Tab 中反轉它並取消組合選項卡。