在 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
用所需的扩展名替换每个条目末尾的空字符串。
我有一个数组:
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
用所需的扩展名替换每个条目末尾的空字符串。