从另一个脚本调用一个shell脚本,并将该脚本的输出存储在变量中
问题描述:
我有shell脚本1 1.sh
。我有另一个shell脚本2.sh
,我需要使用第一个脚本的功能并将其存储在第二个脚本中使用的变量中。从另一个脚本调用一个shell脚本,并将该脚本的输出存储在变量中
这些都不似乎工作:
a=$(sh 1.sh)
a=sh 1.sh
a=`sh 1.sh`
答
第一个解决方案是正确的,尝试例如:
echo 'echo "hello, world"' > echohello.sh
hello=$(sh echohello.sh)
echo $hello
也许你有一个错误1.sh
,或者是在不同的目录?你可以通过运行./1.sh
直接调用它吗?
第一个和第三个是正确的。请发布证明问题的[mcve]。 –
当'1.sh'有一个你想要使用的函数时,用'source 1.sh'包含'1.sh'的代码并调用该函数。你的代码尝试在var中分配'1.sh'脚本的输出,所以请解释你想如何在'2.sh'中使用'1.sh'。 –