簡體   English   中英

bash將如何處理未設置的變量

[英]what will bash do with an unset variable

我對bash如何處理shell命令中使用的未設置變量的行為感到困惑,如下所示:

rm -rf /$TO_BE_REMOVED

如果我還沒有定義變量TO_BE_REMOVEDTO_BE_REMOVED

如果這樣做,執行的命令將有效地嘗試刪除/ ,這是非常非常糟糕的。 我的意思是,它可能大多會失敗(除非您以root身份運行),但仍然會很糟糕。

您可以使用一個簡單的命令自動避免Bash中的許多此類錯誤:

set -eu

如果將其放在Bash腳本的頂部,則解釋器將停止並返回錯誤代碼,如果您的腳本曾經調用了一個返回未檢查錯誤的命令(即-e部分),或者使用了未定義的錯誤變量( -u部分)。 這使得Bash更加安全。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM