来自命令bash的结果

时间:2014-07-07 15:04:05

标签: git bash github latex raspberry-pi

我目前有一个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语句(简单的字符串比较),只有在有变化时生成文件?

提前致谢!

2 个答案:

答案 0 :(得分:1)

您有很多选择。

  1. 使用像make这样只会重建需要重建的文件的工具吗?
  2. 使用git fetch提取更新的引用,然后将本地分支引用与远程分支引用进行比较。
  3. 在拉动之前保存当前版本,并在拉动后将其与当前版本进行比较。

答案 1 :(得分:1)

我有点不知道它有什么大不了的?

if [[ $(git pull) != 'Already up-to-date.' ]]; then
    # do everything
fi