我目前有一个bash脚本,每晚凌晨2:30运行以呈现一些LaTex文件,然后将其推送到GitHub仓库。截至目前,即使没有发生任何变化(没有新的提交),也会生成PDF,这是无用的。我现在的脚本是:
#!/bin/bash
{
PATH=/usr/local/texlive/2014/bin/armhf-linux:$PATH
cd /home/pi/Documents/Analysis-Notes/
git pull #update all the data
cd Scripts
./BuildAll.sh
./BuildChapterByChapter.sh
cd /home/pi/Documents/Analysis-Notes/
git add -A #Add all of the modified files to the commit
git commit -m 'Generated New PDFs'
git push
} || {
echo -e "\n\n!!!! ERROR GENERATING FILES AUTOMATICALLY !!!!\n\n"
}
我的问题是:有没有办法看到git pull
命令的响应是什么,然后放一个if语句(简单的字符串比较),只有在有变化时生成文件?
提前致谢!
答案 0 :(得分:1)
您有很多选择。
make
这样只会重建需要重建的文件的工具吗?git fetch
提取更新的引用,然后将本地分支引用与远程分支引用进行比较。答案 1 :(得分:1)
我有点不知道它有什么大不了的?
if [[ $(git pull) != 'Already up-to-date.' ]]; then
# do everything
fi