問題
使用crontab -e編輯定時任務時候發現會報錯,錯誤信息如下:
[root]# crontab -e Error detected while processing /root/.vimrc: line 7: E518: Unknown option: autochdir Press ENTER or type command to continue
雖然按回車鍵后能夠正常編輯、添加任務,但是每次都報錯,還是讓人感覺很不爽,因此經過查找資料,最終找到原因與解決方法,特此記錄下。
原因
根據錯誤提示信息,在處理 /root/.vimrc 的時候,"autochdir"未知,因此查看下/root/.vimrc,如下:
set expandtab set ts=4 set sts=4 set sw=4 set tags=tags; set autochdir
最后兩行配置是為了使用ctags而設置的,而這個"autochdir"配置項竟然不認識!! crontab -e 命令是用來編輯定時任務配置文件的,需要使用到編輯器,也就是說crontab -e命令調用的編輯器不認識 "autochdir"。linux系統(比如:centos)默認編輯器是vi,,而vi不支持autochdir、fdm等指令,因此報錯,有兩種方法來解決這個問題。
解決辦法
方法一 由於編輯器(vi)不支持"autochdir",可以在使用"autochdir"之前判斷下是否支持此指令,修改 /root/.vimrc 如下即可:
set expandtab set ts=4 set sts=4 set sw=4 if has("autochdir") set tags=tags; set autochdir endif
方法二 既然默認編輯器vi不支持"autochdir",那就修改編輯器為vim,執行如下操作:
[root@~]# vim ~/.bashrc
# 文件最后添加一行 export EDITOR=/usr/bin/vim [root@~]# source ~/.bashrc
[root@~]# echo $EDITOR
/usr/bin/vim
通過 echo $EDITOR 執行結果可以看到,編輯器已經修改為vim,再次執行crontab -e命令就不會再報錯了。
vim是vi的升級版本,比vi功能強大的多,建議用第二種方法。