使用Unix脚本上不同文件中声明的变量
如何将脚本中使用的变量保存在辅助文件中?例如,在脚本使用Unix脚本上不同文件中声明的变量,unix,variables,Unix,Variables,如何将脚本中使用的变量保存在辅助文件中?例如,在脚本myscript.sh中使用myscript.env中的存储变量 因此,每当我需要更改变量时,我都可以编辑myscript.env,而不是myscript.sh,这是一种非常常见的设计模式。按照 myscript.sh: #!/path/to/shell CONFIG_FILE=myscript.env CONFIG_DIR=`dirname $0` # or e.g. CONFIG_DIR=/etc/myscript CONFIG="$C
myscript.sh
中使用myscript.env
中的存储变量
因此,每当我需要更改变量时,我都可以编辑
myscript.env
,而不是myscript.sh
,这是一种非常常见的设计模式。按照
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=SOMEVAR的值
只需使用“点运算符”包含文件即可
假设这两个文件位于同一目录中,则以下操作将起作用:
t、 上海:
t、 环境:
TESTVAR="Hello world"
运行时:
~/tmp$ sh ./t.sh
Hello world
谢谢你,卡尔我错过了“./”:)
~/tmp$ sh ./t.sh
Hello world