コマンドラインスイッチを使用したBashワイルドカード拡張

コマンドラインスイッチを使用したBashワイルドカード拡張

フォーム入力を許可するコマンドを使用しています。

command [-a input_files]*

だから私はcommand -a fooまたはに電話することができますcommand -a foo -a bar -a baz

これで、ワークフローを自動化し、ディレクトリ内のすべてのファイルをコマンドに渡そうとします。このためにワイルドカードを取得する方法はありますか?わかりました。ただし、必須プレフィックスを*挿入することはできません。 will just do it .-acommand *command foo bar baz

これらの操作はbash自体で可能ですか、それともsedなどを使用する必要がありますか?

答え1

おそらく最短の方法はprintfを使用することです。

lcov $(printf -- ' -a %s' *)

ただし、一部のプログラムはまだ失敗する可能性があるため、テストして報告してください。

答え2

各()ファイルの前に配列を作成し、リストargs全体を使用して実行します。-a*command

for f in *
do
  args+=(-a "$f")
done
command "${args[@]}"

関連情報