我正在尝试编写一个bash脚本,该脚本将获取在后台运行的命令的输出。不幸的是,我无法使其正常工作,我将输出分配给的变量为空-如果我用echo命令替换该分配,则一切都会按预期工作。
#!/bin/bash
function test {
echo "$1"
}
echo $(test "echo") &
wait
a=$(test "assignment") &
wait
echo $a
echo done
此代码产生输出:
echo
done
将分配更改为
a=`echo $(test "assignment") &`
可以,但是似乎应该有一个更好的方法。