我正在尝试编写一个 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") &`
有用,但似乎应该有更好的方法。