命令是在;
/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
<name>Charles</name>
<id>123</id>
<color>red</color>
...
<.*> \(.*\) <\/.*>
sed 's/ <.*>\(.*\)<\/.*> / \1 /' file
一樣用 s 指令。sed 's/ <id>\(.*\)<\/id> / \1 /' file