Bash:捕获在后台运行的命令的输出

我正在尝试编写一个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") &`

可以,但是似乎应该有一个更好的方法。


守着一只汪
浏览 763回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP