中かっこ拡張の前にコマンド置換を実行するには?

中かっこ拡張の前にコマンド置換を実行するには?

中括弧を拡張する前にコマンド置換を実行したいのですが、次のことはできません。

$ ls {$(seq -s , 13 20)}.pdf
ls: cannot access {13,14,15,16,17,18,19,20}.pdf: No such file or directory

どうすればいいですか?

ベストアンサー1

eval組み込みシェルを使用するだけです。

$ eval ls {$(seq -s , 13 20)}.pdf

eval渡されたパラメータはどこにありますか?

ls {$(seq -s , 13 20)}.pdf

これを1つのコマンドで接続します。

ls {13,14,15,16,17,18,19,20}.pdf

その後、シェルから読み込んで実行します。

$ eval ls {$(seq -s , 13 20)}.pdf
13.pdf  14.pdf  15.pdf  16.pdf  17.pdf  18.pdf  19.pdf  20.pdf

おすすめ記事