crontab -e 报错 E518: Unknown option: autochdir 解决方法
问题
使用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功能强大的多,建议用第二种方法。