【发布时间】:2010-12-29 11:21:08
【问题描述】:
在 linux bash 中是否存在类似于 PHP 中以下代码的内容:
list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ;
即您在一句话中为 3 个不同的变量分配了相应的值。
假设我有一个 bash 函数myBashFuntion,它将字符串“qwert asdfg zxcvb”写入标准输出。
是否可以执行以下操作:
(var1 var2 var3) = ( `myBashFuntion param1 param2` )
等号左边的部分当然不是有效的语法。我只是想解释一下我的要求。
但是,以下是有效的:
array = ( `myBashFuntion param1 param2` )
echo ${array[0]} ${array[1]} ${array[2]}
但是索引数组不像普通变量名那样具有描述性。
但是,我可以这样做:
var1 = ${array[0]} ; var2 = ${array[1]} ; var3 = ${array[2]}
但我更希望避免这 3 个陈述。
我只是在寻找一种快捷语法。有可能吗?
【问题讨论】:
标签: linux bash shell variable-assignment multiple-variable-return