当 root 打开 crontab 时,虽然 Nano 被设置为默认编辑器,但仍然使用 Vim。这可能是什么原因?

当 root 打开 crontab 时,虽然 Nano 被设置为默认编辑器,但仍然使用 Vim。这可能是什么原因?

环境:CentOS 8

问题:当我输入时,sudo crontab -e它会在 Vim 中打开。但是 Nano 被设置为默认编辑器,并且对于所有其他类型的文件,它都按预期使用。为什么会这样?有办法解决这个问题吗?

背景:我按照以下步骤将 Nano 设为默认编辑器。

# nano /root/.bashrc

我添加了这些行并保存了文件。

export EDITOR='nano'
export VISUAL='nano'

这就是整个文件的组成。

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

export EDITOR='nano'
export VISUAL='nano'

我使用此命令使更改生效。

# source /root/.bashrc

答案1

/root/.bashrc仅当在 root 帐户下启动 shell 时才会执行。执行命令sudo通常不会调用 shell,因此不会使用该文件。

sudoEDITOR如果为调用用户设置了环境变量,则会保留该变量。这就是您的问题的解决方案:

EDITOR='nano' sudo crontab -e

相关内容