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

tue*_*ist 7 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
Run Code Online (Sandbox Code Playgroud)

但是通过x={a..x}结果以{a..x}字符串形式将其分配给变量.只有x=$(echo {a..x})作品.

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

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

disks=( $(echo {a..x}) ) 
Run Code Online (Sandbox Code Playgroud)

cho*_*oba 5

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

set {a..x}
x="$@"
Run Code Online (Sandbox Code Playgroud)

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

disks=( {a..x} )
Run Code Online (Sandbox Code Playgroud)