web-dev-qa-db-ja.com

rootが開くと、crontab Vimが使用されますが、Nanoがデフォルトのエディターとして設定されています。なぜそうなのか?

環境: 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
myNewAccount

/root/.bashrcは、rootアカウントでシェルが開始された場合にのみ実行されます。 Sudoを使用してコマンドを実行すると、通常はシェルが呼び出されないため、ファイルは使用されません。

Sudoは、呼び出し元のユーザーに設定されている場合、環境変数EDITORを保持します。これが問題の解決策です。

EDITOR='nano' Sudo crontab -e
1
Hauke Laging