该命令crontab -e
在非root用户帐户下停止工作并出现错误:
/bin/sh: 1: mvim: not found
crontab: "mvim" exited with status 127
但是,对于具有 权限的 root 用户,它仍然有效sudo
。我不知道发生了什么变化,只是常规aptitude
升级。
更新:我在我的 中发现了这一点.zshrc
。将其注释掉即可解决问题。
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='mvim'
fi
答案1
默认情况下,crontab -e
将在当前环境中搜索(按顺序)VISUAL
或EDITOR
变量,并尝试使用其值作为打开 crontab 文件的编辑器。
因此,您大概在用户环境中设置了EDITOR=mvim
或(也许您打算使用 Neovim 编辑器,但输入错误了?)。您可以在 bash 中使用 检查。VISUAL=mvim
nvim
declare -p VISUAL EDITOR
当运行时sudo
(除非使用-E
或--preserve-env
开关),crontab -e
将在新的、最小的环境中执行,其中不包含用户EDITOR
或VISUAL
变量。
您可以在命令行上暂时覆盖该设置,例如
VISUAL=/bin/nano crontab -e
要持久地修复该问题,请找到您设置这些变量的位置(可能是您的.profile
或.bashrc
文件),然后将它们设置为有效的编辑器程序,或者取消设置它们 - 这将导致crontab -e
恢复到系统的默认nano
编辑器。