我需要从一个脚本中获取特定变量,然后在其他脚本中使用它们。
示例:
原始脚本:
VARA=4 # Some description of VARA
VARB=6 # Some description of VARB
SOMEOTHERVAR="Foo"
/call/to/some/program
我想编写第二个脚本,它需要VARA
和VARB
,但不需要SOMEOTHERVAR
或对该程序的调用。
我已经可以做:
eval $(grep 'VARA=' origscript.sh)
eval $(grep 'VARB=' origscript.sh)
这似乎可行,但是当我想两者都做时,它只会设置第一个:
eval $(grep 'VAR[AB]=' origscript.sh)
因为似乎将grep
返回的两行连接在一起。 (这可能意味着注释会保存第一个任务。)
答案 0 :(得分:2)
在引号周围加上引号,以使grep
输出中的换行符不会变成空格。
eval "$(grep 'VAR[AB]=' origscript.sh)"