`sh my_dir/subdir*/qsub.sh` 形式のすべてのスクリプトを実行する方法

`sh my_dir/subdir*/qsub.sh` 形式のすべてのスクリプトを実行する方法

次の形式の複数のディレクトリがあります。

my_dir/subdir*/qsub.sh

各サブディレクトリのすべてのエントリを実行したいがqsub.sh実行しようとすると

sh my_dir/subdir*/qsub.sh

qsub.sh単一のサブディレクトリに対してのみ実行されるようです。なぜこのようなことをするのですか?

ベストアンサー1

コマンドが機能しない理由は、シェルが最初の一致を実行し、残りの一致が最初のスクリプトに引数として渡されるためです。

ディレクトリを繰り返し、各スクリプトを個別に実行する必要があります。

例えば

for script in my_dir/subdir*/qsub.sh ; do
  sh "${script}"
done

おすすめ記事