私はbashスクリプトに初めてアクセスし、ループを使用して開始for
するディレクトリ内のすべてのフォルダを見つけてから、ステートメントを使用して名前付きの他のif
フォルダを見つけるスクリプトを作成しようとしていますtemplates
。それから実行したいと思います。そのフォルダに保存されているPythonスクリプトを実行するpythonコマンド。
- 私のディレクトリ構造は次のとおりです。
all/ this_script.sh one/ templates/ render_j2.py two/ templates/ render_j2.py
- 私が試した
this_script-sh
ことは
またこれを試しました:for file in *; do if [[ "$file"==*"templates"* ]]; then cd $file fi done
for file in *; do find . templates python render_j2.py; done
私の主な問題は、フォルダに入ることができずtemplates
、入っても、pythonコマンドが実行するPythonファイルを見つけることができないことです。
ベストアンサー1
すでに find を使用しているので、タスク全体を find にオフロードするのはどうでしょうか?次のことを試すことができます。
find . -type f -path "*/templates/render_j2.py" -execdir python render_j2.py \;
render_j2.py
その後、開始点の下のディレクトリ内のすべてのファイルを検索し、ファイルがあるディレクトリでpythonコマンドを実行します。templates