Web サイトを含む複数の git リポジトリがあります。特定のファイル イベントを監視し、それらのイベントが検出されたときに git push および git pull スクリプトを自動的に実行するために、複製されたローカル バージョンに対して inotifywait を実行したいと考えています。
これまでのところ、ディレクトリごとに個別の関数を含むスクリプトを作成しましたが、最初の関数だけが呼び出されます。
#!/usr/bin/env bash
dbg() {
inotifywait -mr -e ATTRIB /path/to/dbg/ |
while read dir ev file;
do
cd /path/to/dbg
git pull;
git add .;
git commit -m " something regarding this website has changed. check .... for more info";
git push;
ssh remote@server.com 'cd /path/to/web/root; git pull';
done;
}
dbg;
website2() {
same thing as above
}
website2;
website3() {
same thing as above
}
website3;
.......
website10() {
........
}
website10;
10 個の個別のスクリプトを作成して管理することなく、このコードをより効率的かつ重要で、完全に機能するように構成するにはどうすればよいでしょうか。私は本当にこのロジックを 1 つのファイルにまとめたいと思っています。これを 1 つのモジュールにして、より大きなプロジェクトに進めたいと考えています。
私が改善できるように、私の質問、文法、思考プロセスなどを批評してください。ありがとうございました。