如何将脚本中使用的变量保存在辅助文件中?例如,使用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
谢谢尤金! :) –
谢谢卡尔! ---我一直想念“./”:) –