crontabコマンドを終了できません

crontabコマンドを終了できません

Ubuntu 16.04 LTSを新しくインストールして使用しています。
私が入力するたびに:

sudo crontab -e

または

sudo -u www-data crontab -e

このコマンドは数字だけを印刷し、それ以外は何も印刷しません。いくら取り除こうとしてもできません。

質問

  • まず、上記のコマンドをどのように終了しますか?私はちょうど立ち往生しています。
  • コマンドがcrontabエントリを表示しないのはなぜですか?
  • 上記のコマンドでcrontabエントリを表示するにはどうすればよいですか?

編集する
私はvim.basicエディタを選択しました:

sudo update-alternatives --config editor

しかし、空白印刷するとecho $EDITOR

また
crontab -e- >うまく動作します
sudo -u www-data crontab -e。 ->上記のように停止します。

答え1

デフォルトエディタが設定されておらず、デフォルト値がed

実行すると得られるもの:

env | egrep 'EDITOR|VISUAL'

sudo env | egrep 'EDITOR|VISUAL'

sudo -u www-data env | egrep 'EDITOR|VISUAL'

終了方法は、ed次のように入力することです。q↵ Return

別のエディタを設定するには、次の操作を行います。

sudo -u www-data EDITOR=$EDITOR crontab -e

答え2

まず、上記のコマンドをどのように終了しますか?私はちょうど立ち往生しています。

どのエディタを使用しているかわかりません。Esc :q(vim)、Ctrl-x(nano)、Ctrl-x Ctrl-c(emacs)、q()を試してくださいed

  • コマンドを実行しselect-editor、使用したいエディタを選択します。
  • 回避策:環境変数EDITORまたはVISUAL好みのエディタを設定してください。
    例:export EDITOR=emacsemacsまたはexport EDITOR=nanonanoの使用。
  • 次にcrontab -ecrontab 編集を実行します。
  • crontab -lcrontabの内容を表示するために使用されます。

答え3

次のコマンドを適用しました。

# Interactive way
update-alternatives --config editor
# And choose 3 (vim.basic)

# Non Interactive way
sudo update-alternatives --set editor /usr/bin/vim.basic

# Verify as
sudo update-alternatives --query editor

あるいは、それを~/.bashrc追加、~/.bash_profileアーカイブ、再ロードして変更を反映することもできます。

export VISUAL=vim
export EDITOR="$VISUAL"

www-dataユーザーの crontab には以下を使用します。

sudo crontab -u www-data -e

これで問題が解決しました。

答え4

crontab -eを使用しないでください

  • システム、アカウント、およびセッションがどのように構成されているかを正確に知らない場合は、次に何が起こるのかわかりません。
  • これらのいずれかを変更すると、別のことが発生します
  • 操作可能なエディタでcrontabを開いても、変更をキャンセルするのは難しいかもしれません。

代わりに、 crontab を一時ファイルに作成し、目的のエディタを使用してファイルを cron に戻します。

$ crontab -l >mycron
$ vi mycron
$ crontab <mycron

(また、www-dataユーザーとしてcronジョブを実行しないことを強くお勧めします)

関連情報