Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;管道;将值转换为Bash变量_Bash_Variables_Piping - Fatal编程技术网

&引用;管道;将值转换为Bash变量

&引用;管道;将值转换为Bash变量,bash,variables,piping,Bash,Variables,Piping,我有一个Python脚本,它输出两个类似的数字:1.0 2.0(这是两个数字之间的一个空格,但它可以是\t,或者其他任何形式。我需要一个bash变量来保存1.0,另一个变量来保存2.0。这可能吗 过去,我只将一个值“管道化”到变量中,如下所示: var=`python file.py` ; 但是现在,我想从python文件中保存两个值 var1,var2=`python file.py` ; 有什么建议/帮助吗 谢谢!您可以使用以下内容: read var1 var2 < <(

我有一个Python脚本,它输出两个类似的数字:
1.0 2.0
(这是两个数字之间的一个空格,但它可以是
\t
,或者其他任何形式。我需要一个bash变量来保存
1.0
,另一个变量来保存
2.0
。这可能吗

过去,我只将一个值“管道化”到变量中,如下所示:

var=`python file.py` ;
但是现在,我想从python文件中保存两个值

var1,var2=`python file.py` ; 
有什么建议/帮助吗


谢谢!

您可以使用以下内容:

read var1 var2 < <(python file.py)

read var1 var2<我用于拆分字段的一个线性行是

 ... | awk '{print $1}' | ... # or $2, $3, etc.
所以你可以

var = `foo`
var1 = `echo "$var" | awk '{print $1}'`
var2 = `echo "$var" | awk '{print $2}'`

编辑:在$var附近添加引号

我想这里最有效、最优雅的方法是使用
readarray
将值读入数组。当然,如果你同意使用数组的话。你应该这样做,但你永远不知道。不过,这要求分隔符必须是换行符。无论如何:


readarray-t values<这比下面我的awk废话好多了。@Mat:效果非常好。谢谢!