Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Unix脚本上不同文件中声明的变量_Unix_Variables - Fatal编程技术网

使用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