我有多个包含网站的 git 存储库。我想针对他们克隆的本地版本运行 inotifywait 以监视某些文件事件并在检测到这些事件时自动运行 git push 和 git pull 脚本。
到目前为止,我已经为每个目录创建了一个带有单独函数的脚本,但只有第一个函数被调用。
#!/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 个单独的脚本。我真的很想把这个逻辑放在一个文件中,我希望这是一个模块来实现一个更大的项目。
请批评我的提问、我的语法、思维过程等,以便我改进。谢谢你。