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=emacs
emacsまたはexport EDITOR=nano
nanoの使用。 - 次に
crontab -e
crontab 編集を実行します。 crontab -l
crontabの内容を表示するために使用されます。
答え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ジョブを実行しないことを強くお勧めします)