从其他脚本设置特定变量

时间:2018-10-10 23:41:00

标签: bash

我需要从一个脚本中获取特定变量,然后在其他脚本中使用它们。

示例:

原始脚本:

VARA=4              # Some description of VARA
VARB=6              # Some description of VARB
SOMEOTHERVAR="Foo"
/call/to/some/program

我想编写第二个脚本,它需要VARAVARB,但不需要SOMEOTHERVAR或对该程序的调用。

我已经可以做:

eval $(grep 'VARA=' origscript.sh)
eval $(grep 'VARB=' origscript.sh)

这似乎可行,但是当我想两者都做时,它只会设置第一个:

eval $(grep 'VAR[AB]=' origscript.sh)

因为似乎将grep返回的两行连接在一起。 (这可能意味着注释会保存第一个任务。)

1 个答案:

答案 0 :(得分:2)

在引号周围加上引号,以使grep输出中的换行符不会变成空格。

eval "$(grep 'VAR[AB]=' origscript.sh)"