如何將腳本中使用的變量保存在輔助文件中?例如,使用myscript.env
中的存儲變量在腳本myscript.sh
中使用。在Unix腳本的不同文件中聲明使用變量
因此,無論何時我需要更改變量,我都可以編輯myscript.env
而不是myscript.sh
。
如何將腳本中使用的變量保存在輔助文件中?例如,使用myscript.env
中的存儲變量在腳本myscript.sh
中使用。在Unix腳本的不同文件中聲明使用變量
因此,無論何時我需要更改變量,我都可以編輯myscript.env
而不是myscript.sh
。
只需提供相關的文件的「點運算符「。
假設這兩個文件在同一目錄下,下面的工作:
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
這是一個很常見的設計模式。沿線的思考
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
謝謝尤金! :) –
謝謝卡爾! ---我一直想念「./」:) –