Shell

帶有 $ 字元的環境變數

  • August 5, 2019

我正在使用 MacOS。我試圖在我的內部輸入這個環境變數.bash_profile

export CLOUD_PASSWORD=Pass4Aa$ditya

但是當我這樣做source .bash_profile並嘗試時echo $CLOUD_PASSWORD,我得到這個作為輸出: Pass4Aa

$ 符號之後的任何內容都將被忽略。即使我嘗試添加引號,例如: export CLOUD_PASSWORD="Pass4Aa$ditya"

後來做了source,它仍然顯示和以前一樣。如何使用值中存在 $ 和 @ 等特殊字元創建環境變數?

$ export CLOUD_PASSWORD='Pass4Aa$ditya'
$ printf '%s\n' "$CLOUD_PASSWORD"

Pass4Aa$ditya

$ export CLOUD_PASSWORD="Pass4Aa\$ditya"
$ printf '%s\n' "$CLOUD_PASSWORD"

Pass4Aa$ditya

單引號或用反斜杠轉義:)

.bash_profile使用單引號為文件中的變數賦值。

.bash_profile在-中添加以下行

export CLOUD_PASSWORD='Pass4Aa$ditya'

驗證更改 -

$ source .bash_profile
$ printf '%s\n' "$CLOUD_PASSWORD"
Pass4Aa$ditya

引用自:https://unix.stackexchange.com/questions/533955