最佳答案
Linux bash 中确实存在一些类似于 PHP 中的代码:
list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ;
也就是说,你在一个句子中为3个不同的变量赋予一个相应的值。
假设我有一个 bash 函数 myBashFuntion
,它将字符串“ qwert asdfg zxcvb”写入 stdout。
有没有可能做这样的事情:
(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]}
但我还有三句话不想说。
我只是在寻找一种快捷语法,有可能吗?