
我有幾個單獨的 bash 腳本。它們做不同的事情,而且很大(每個 70-100 行)。因此我將它們保存在單獨的文件中。但它們都與一個核心問題有關,因此具有幾個共同的恆定價值。
因此,為了簡單起見,我有十個常數變量,有些是字串,有些是數字,而兩個是數組,所有這些變數都需要在十個不同的 bash 腳本中可用。我該如何實現這個目標?
請注意,雖然有一個中央main.sh
可以呼叫這些單獨的 bash 腳本,但情況並非總是如此。也可以直接從命令列 ( ./script1.sh
) 呼叫它們。即使在這種情況下,變數也應該可供腳本使用。
我想到的唯一方法是在文件中編碼dev/script1.temp.sh
,每次需要運行任何文件時,我都會運行一個build.sh
bash 腳本,該腳本簡單地替換(通過)整個文件中grep
所有出現的特定常數 ( ) 以生成.$CONSTANT
build/script1.sh
答案1
constants.env
例如,將所有常數放入一個檔案中。在所有使用這些常數的腳本中,放置. constants.env
以載入它們。
例如,constants.env
:
HELLO=world
script.sh
#!/bin/bash
. constants.env
echo $HELLO
執行範例:
$ ./script.sh
world