2012-09-14 45 views

回答

0

只需提供相關的文件的「點運算符「。

假設這兩個文件在同一目錄下,下面的工作:

t.sh:

#!/usr/bin/sh 

# Note the first dot on the following line 
. ./t.env 
echo $TESTVAR 

t.env:

TESTVAR="Hello world" 

運行時間:

~/tmp$ sh ./t.sh 
Hello world 
+0

謝謝卡爾! ---我一直想念「./」:) –

0

這是一個很常見的設計模式。沿線的思考

myscript.sh:

#!/path/to/shell 

CONFIG_FILE=myscript.env 
CONFIG_DIR=`dirname $0` 
# or e.g. CONFIG_DIR=/etc/myscript 

CONFIG="$CONFIG_DIR/$CONFIG_FILE" 
. $CONFIG 

echo "SOMEVAR=$SOMEVAR" 

myscript.env

SOMEVAR="The value of some var" 

現在/path/to/myscript.sh將輸出SOMEVAR=The value of some var

+0

謝謝尤金! :) –