2
私はサブサブフォルダを含むフォルダを持っていて、いくつかのフォルダは.shファイルを含んでいます。 .shファイルが表示されているパスで.shファイルを実行したい。試しました".sh"ファイルを再帰的に検索し、そのパス上で.shファイルを実行します。
find . -name '*.sh'
./folder 1/folder 2/run.sh
./folder3/run.sh
./folder 4/run.sh
./folder5/run.sh
この検索機能は正しく機能しています。今私は.shファイルのパス上で実行したい別の.shファイルを持っています。試しました
find . -name '*.sh' /home/cool/Desktop/followup.sh {} ;
ここで、followup.shは私のファイルです。コマンドは現在のディレクトリで実行されています。 run.shファイルパスでは実行されません。
私はbashスクリプトの初心者です。どのコマンドを発行するのですか?フォルダ名にはスペースがあることに注意してください。
基本的に、あなたは '-exec'を見逃しました:' find 'でなければなりません。 -name '* .sh' -exec /home/cool/Desktop/followup.sh {} \; ' – hek2mgl
さらに、そのファイルのパス内でスクリプトを実行したい場合は、' -execdir'を ' -exec': 'find。 -name '* .sh' -execdir /home/cool/Desktop/followup.sh {} \; ' – hek2mgl
@ hek2mglありがとうございました。 execdirが働いた。 – user8109