I have several Git repositories with LaTeX files that I want to have typeset automatically. The idea is to have a central bash script (run by a cronjob) that executes a bash script in every repository, which (1) pulls new commits and (2) executes make all, which should call latexmk on the changed LaTeX files.The central bash script simply contains lines like:bash ./repos/repo-xyx/cron.shThen in repos/repo-xyz/cron.sh is something like:cd $(dirname $0)git pullmake allcd -And in the Makefile in the same directory:all: $(subst .tex,.pdf,$(wildcard *.tex))%.pdf: %.tex        latexmk -pdf -pdflatex=pdflatex -shell-escape $< </dev/nullIn my user's crontab, I have * * * * * bash .../cron.sh 2>&1 > .../cron.log and SHELL=/bin/bash. When the cronjob is executed, I read the following in the log:Already up-to-date.latexmk -pdf -pdflatex=pdflatex -shell-escape myfile.tex </dev/null.../ (this comes from the line cd -)As you can see, latexmk is invocated but doesn't do anything. myfile.pdf is not generated.When I run bash cron.sh (as the same user) from the highest directory, this does work.What could cause the Makefile to not execute commands when run from a bash script that is run by a cron job (at least, I think it's make not executing this command)? This is GNU Make 3.81 on Linux ubuntu 3.13.0-51-generic #84-Ubuntu SMP Wed Apr 15 12:08:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux.
Latexmk, from Makefile, from bash script, from Cron - Latexmk not being executed
bash;ubuntu;cron;latex;gnu make
The problem turned out to be that the path to pdflatex was being defined in my $HOME/.profile. I thus changed the cronjob to:* * * * * . $HOME/.profile; bash .../cron.sh 2>&1 > .../cron.login accordance with https://unix.stackexchange.com/a/27291/37050.