我尝试使用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}) )
答案 0 :(得分:5)
您也可以使用set
(但如果您仍需要,请务必保存位置参数):
set {a..x}
x="$@"
对于数组,大括号扩展直接起作用:
disks=( {a..x} )