Bash

在 bash 腳本中導入環境變數

  • November 17, 2021

我在終端中設置了一些環境變數,然後執行我的腳本。如何在腳本中提取變數?我需要知道他們的價值觀。簡單地稱它們為$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

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