命令是在;
/etc/crontab
在crontab 中可以指定以哪一個 user 的身份來 run command
但是並不包含該 user 環境變數。
所以 run 起來會和真的以該user run 該 script 的結果不同。
為了解決這個問題,
可以在 command script 的開頭加入:
. .profile
/etc/crontab
. .profile
$?
cd mydir
if [ "$?" -ne "0" ]; then
echo failed
else
echo success
fi
make -j4 2>&1 | tee makelog
這時候用 $? 就會是 tee 這個 command 執行的結果,不是 make 的
make -j4 2>&1 | tee makelog
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
echo failed
else
echo success
fi