次の形式の複数のディレクトリがあります。
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