我想将包含的字符串分配$value
给多个 BASH 变量。
实际上我之前给出的例子 ( var1=var2=...=$value
) 并没有完全反映我想要的。到目前为止,我发现了这一点,但它仅适用$value
于整数:
$ let varT=varz=var3=$value
我怎样才能做到这一点?
我想将包含的字符串分配$value
给多个 BASH 变量。
实际上我之前给出的例子 ( var1=var2=...=$value
) 并没有完全反映我想要的。到目前为止,我发现了这一点,但它仅适用$value
于整数:
$ let varT=varz=var3=$value
我怎样才能做到这一点?
在我看来,你最好只做更具可读性:
但是,如果您想要一种非常短的方法来完成此操作,请尝试:
已编辑:使用大括号扩展而不是 printf 并声明而不是 eval,这可能很危险,具体取决于
$value
.参照。EDIT1:您仍然可以在新情况下使用大括号扩展:
它比
printf
评论中的方法更安全,因为它可以处理$value
.let
正在做算术评估。在bash
中,这相当于(( ... ))
。这就是为什么您的代码仅适用于整数的原因。使用数组而不是特别命名的变量:
或关联数组,
你也可以做一个循环:
这个循环循环变量的名称。在循环体中,创建了一个引用当前循环变量的名称引用变量。当设置名称引用变量的值时,设置命名变量。
你可以这样做: