如何在变量声明中使用Bash替换

时间:2012-01-02 11:57:46

标签: bash

我尝试使用x中的所有字符声明变量a..x。在命令行(bash)上,a..x的替换不带任何刻度。

$ echo {a..x}
a b c d e f g h i j k l m n o p q r s t u v w x

但是通过x={a..x}将其分配给变量会导致{a..x}为字符串。只有x=$(echo {a..x})有效。

问题是:这是正确的分配方式还是我必须做其他事情?

主要目的是将序列分配给数组,例如

disks=( $(echo {a..x}) ) 

1 个答案:

答案 0 :(得分:5)

您也可以使用set(但如果您仍需要,请务必保存位置参数):

set {a..x}
x="$@"

对于数组,大括号扩展直接起作用:

disks=( {a..x} )