在 BASH 中展开数组

Expanding an array in BASH

我有一个数组:

allChapters=('1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11' '12' '13' '14' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I')

我需要 运行 一个接受指定参数的命令,例如:

prince index.html 1.html 2.html 3.html 4.html 5.html 6.html 7.html 8.html 9.html 10.html 11.html 12.html 13.html 14.html A.html B.html C.html D.html E.html F.html G.html H.html I.html  -o doc.pdf

有没有一种方法可以在不手动键入所有内容的情况下扩展数组,这样我就可以只添加到数组中而不必修改命令?

类似于:

prince ${allChapters[*]}.html -o doc.pdf

这个有效:

prince "${allChapters[@]/%/.html}" -o doc.pdf

用所需的扩展名替换每个条目末尾的空字符串。