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功能强大的多,建议用第二种方法。


 

posted on 2019-01-07 15:07  泣血  阅读(2060)  评论(0编辑  收藏  举报

导航