Bash
在 bash 腳本中導入環境變數
我在終端中設置了一些環境變數,然後執行我的腳本。如何在腳本中提取變數?我需要知道他們的價值觀。簡單地稱它們為
$MY_VAR1
行不通;它是空的。
export
如果變數在呼叫您的腳本的環境中是真正的環境變數(即,它們已被導出),那麼它們將在您的腳本中可用。它們並不意味著您沒有導出它們,或者您從一個環境中執行腳本,即使它們作為 shell 變數也不存在。例子:
$ cat script.sh #!/bin/sh echo "$hello"
$ sh script.sh
(一個空的輸出行,因為
hello
在任何地方都不存在)$ hello="hi there" $ sh script.sh
(仍然只有一個空行作為輸出,因為
hello
它只是一個 shell 變數,而不是一個環境變數)$ export hello $ sh script.sh hi there
或者,僅為此腳本設置環境變數,而不是在呼叫環境中:
$ hello="sorry, I'm busy" sh script.sh sorry, I'm busy
$ env hello="this works too" sh script.sh this works too