写了一个脚本来整理 bash 的历史记录:
#!/usr/local/bin/bash
src=~/.bash_history
dst=~/Bash/bh.bak
tmp=~/Bash/tmp.txt
p='^cd \|^vi \|^vimdiff\|^z '
cp $src $dst && sed "/$p/d" $dst | tac | awk '!a[$0]++' | tac > $tmp && mv $tmp $src
crontab 设置如下: 52 17 * * * ~/Bash/rmdups.sh &> /dev/null
发现定时任务每次只会生成一个空的 tmp.txt 文件,但手动执行的话就可以达到预期的效果。这是什么原因啊?