2017-10-09 96 views
1

使用配置文件(文件中的用戶定義變量)時,我需要以下要求。我在配置文件中有變量,需要從文件和優先順序中讀取變量。例如下面給出的 在多個文件中使用變量Shell腳本

主參數(默認)文件。下面

test.sh: 
    . ~/param.override,~/param.ini 

    echo "run day -> $var1" 

結果,我需要給出

param.ini: 
    Var1=today 
    Var3=xyz 

覆蓋參數文件(即席覆蓋變化)

Param.override: 
    var1=yesterday 
    var2=123 

我的劇本是

run day -> yesterday 

我記得我們可以實現這使用點開放rator或Source命令在Unix中。請幫助我腳本從多個文件調用變量的語法。

+0

請問[this](https://stackoverflow.com/questions/9772036/pass-all-variables-from-one-shellscript-to-another)有幫助嗎? – mathB

+0

不幸的是沒有!因爲我的要求是多個文件具有相同名稱的變量,所以我需要從配置文件中控制該值,而不是在腳本中。感謝您的關注。 – Unixhelp

回答

0

這個:對我有用,不知道你是否試過這個?

$ cat param.ini 
Var1=today 
Var3=xyz 

$ cat param.override 
Var1=yesterday 
var2=123 

$ cat test.sh 
#!/usr/bin/bash 
. ~/cygwin/param.override ~/cygwin/param.ini 

echo "run day -> $Var1" 

$ ./test.sh 
run day -> yesterday 
+0

非常感謝!我嘗試過,:和;文件之間。沒有嘗試過空間。 – Unixhelp

+0

如果它的工作,你能接受的答案:) – mathB

+0

做到了,新的福隆:) – Unixhelp