怎么把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后台输出赋值给变量的主要内容,如果未能解决你的问题,请参考以下文章

awk的结果怎么赋值给Shell变量

linux shell 如何把txt文本中每一行提取出来赋值给一变量,再输出这一变量

怎么将shell变量等于命令的结果,比如把date命令的结果赋值给变量a

用mui.ajax从后台获取到的data怎么赋值给全局变量

我在后台查询数据库得到一些值怎么赋值给页面的下拉框

sed的运行结果怎样赋值给变量