怎么把shell后台输出赋值给变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把shell后台输出赋值给变量相关的知识,希望对你有一定的参考价值。

我有两个命令需要同时执行,输出结果赋值给两个变量,例子如下:
r0=`sleep 10;echo 10.0` &
r1=`sleep 10;echo 20.0` &
wait
echo $r0, $r1
结果显示:
,
怎么才能正常运行?

参考技术A 写一个a.sh脚本:

$ cat a.sh
#!/bin/bash

declare -i k
declare -i m
declare -a arr
k=0
m=0

rm -fr num.txt
touch num.txt
sleep 10;echo "10.0" >> num.txt; &
sleep 10;echo "20.0" >> num.txt; &
wait

while read line
do
arr[$k]=$line
((k++));
done < num.txt

while [ $m -lt $k ]
do
echo $arr[$m]
((m++))
done

运行它:
$ chmod +x a.sh

$ a.sh (或者 ./a.sh)
10.0
20.0

谢谢。因为不了解你的详细情况和需求。仅供参考。本回答被提问者和网友采纳

以上是关于怎么把shell后台输出赋值给变量的主要内容,如果未能解决你的问题,请参考以下文章