2014-02-18 99 views
4

我試圖編輯我的crontab,但我無法打開它!無法編輯crontab

所以我的用戶foo,我只需要輸入:

crontab -e 

然後我:

no crontab for foo - using an empty one 
nano: No such file or directory 
crontab: "nano" exited with status 1 

於是,我第一次嘗試:

export EDITOR=nano 

我試,我得到確切相同的輸出。我也試圖將我的編輯器設置爲vim

export EDITOR=vim 

no crontab for foo - using an empty one 
vim: No such file or directory 
crontab: "vim" exited with status 1 

但是我一直在重複同樣的輸出。我該怎麼打開我的crontab然後編輯它?

有沒有人知道這是爲什麼?

+0

做nano和vim的工作,當你只是自己運行它們? –

+0

嘗試給出'vim'的完整路徑 - >'export EDITOR =/usr/bin/vi' – fedorqui

+0

是的,如果我只鍵入nano或vim(甚至是vi),它會打開編輯器。我也嘗試導出EDITOR =/usr/bin/vim和nano。同樣的結果 – Hito

回答

5

此消息是正常的,因爲你還沒有爲用戶任何的crontab:

沒有的crontab foo的 - 用一個空

關於下列內容:

nano/vim:沒有這樣的文件或目錄

crontab:「nano」退出狀態1

發生這種情況是因爲您沒有正確定義編輯器。要做到這一點,你必須指定的二進制文件的完整路徑:

export EDITOR=/usr/bin/nano 

export EDITOR=/usr/bin/vi 
+0

是的,但我也嘗試用上面給出的2行設置我的編輯器。仍然不起作用。 – Hito

+0

那麼首先用'which nano'來檢查你的'nano'的路徑是什麼。我的'/ usr/bin/nano'就是一個例子。 – fedorqui

+0

我也做了它,它也給了我/ usr/bin/nano。 – Hito

1

如上所述,您還可以安裝在不同的位置納米,或在ISN的位置在你的PATH變量中。作爲替代方案,您可以嘗試which pico,如果「pico」出現該命令,請按照export EDITOR=pico的步驟操作,然後按crontab -e操作。

請記住在shell的啓動腳本中包含導出行,否則當您離開終端會話時,輸入EDITOR值的命令行將消失。

+0

我也試過這個,我仍然得到相同的輸出...我在我的編輯器中添加了export EDITOR = vim。zshrc – Hito

+0

因此,在您的.zshc中的'export EDITOR = vim'中,您仍然遇到了您在問題中列出的問題? –

+0

是的,我願意。我輸入.zshrc並啓動了一個新的會話以確保它正確加載。如果我輸入'echo $ EDITOR',它會回答'vim' – Hito

0

我找不到解決我的問題,但我真的必須能夠執行一些crons。所以谷歌搜索後,我可以發現,cronie不是現有唯一的cron經理。 fcron是我的解決方案。所以我做:

pacman -R cronie 
pacman -S fcron 

然後,而不是crontab -e只需鍵入fcrontab -e,編輯您的文件,你是好。像我的魅力一樣。希望這會幫助人們...

+0

很奇怪。雖然,很高興看到你解決了它。 – fedorqui

1

我得到了我的新ec2實例完全相同的錯誤。

no crontab for ec2-user - using an empty one 
/bin/sh: /usr/bin/vi: No such file or directory 
crontab: "/usr/bin/vi" exited with status 127 

當您打開它時,VIM工作正常,但crontab -e仍然無法正常工作。然後,我嘗試瞭解決方案:

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin 
export EDITOR=/usr/bin/vi 

,沒有工作,然後鍵入:

which vi 
alias vi='vim' 
/usr/bin/vim 

我的技巧是使用vim的,而不是六對出口幹了什麼

export EDITOR=/usr/bin/vim 

現在我的crontab -e工程

+0

如何使此導出永久化,以便我不必每次新的終端會話都導出它。 – Shri

0

製作昇華我的默認edi TOR,我開始與這條線在我.bashrc

# In .bashrc 
export EDITOR="subl -w" 

結果:

> source ~/.bashrc 
> crontab -e 
crontab: subl -w: No such file or directory 
crontab: "subl -w" exited with status 1 

我試圖完全限定路徑軟鏈接:

> which subl 
/usr/local/bin/subl 
> ls -la /usr/local/bin/subl 
... /usr/local/bin/subl -> /Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl 


# In .bashrc 
export EDITOR="/usr/local/bin/subl -w" 

結果:

> source ~/.bashrc 
> crontab -e 
crontab: /usr/local/bin/subl -w: No such file or directory 
crontab: "/usr/local/bin/subl -w" exited with status 1 

Fina LLY我刪除了-w

# In .bashrc 
export EDITOR="/usr/local/bin/subl" 

哪些工作:

> source ~/.bashrc 
> crontab -e 
# opened Sublime 

我是能夠使使用相同的步驟nano工作。