Crontab फ़ाइल खोलने के लिए एक संपादक कैसे निर्दिष्ट करें? "निर्यात EDITOR = vi" काम नहीं करता है


103

मैं Red Hat Enterprise Linux 5 का उपयोग कर रहा हूं, और मैं crontab फ़ाइल को संपादित करने के लिए vim संपादक सेट करना चाहता हूं।

अगर मैं दौड़ता हूं echo $EDITOR, तो मैं विम हो जाता हूं। लेकिन जब मैं दौड़ता हूं crontab -e, मुझे अलग संपादक मिलता है।

जवाबों:


170

बहुत संभव है कि आपका VISUALपर्यावरण चर कुछ और पर सेट हो। प्रयत्न:

export VISUAL=vi

6
परिवर्तनशील export VISUAL=vim( setenv VISUAL "vim"tcsh शेल के लिए) यह पूरी तरह से काम करता है !!
अनुजंस

9
@ lwpro2: यदि VISUALसेट नहीं है तो EDITORचर का उपयोग किया जाता है। लेकिन VISUALपहले से अधिक है EDITOR
bmk

यदि एक उपयोगकर्ता के साथ कई व्यक्तियों द्वारा क्रॉस्टैब का प्रबंधन किया जाता है, तो मैं इसे एक उपधारा में करने की सलाह देता हूं, इसलिए डिफ़ॉल्ट संपादक जगह पर रहता है।
थॉमस बॉहम

किसी भी विचार क्यों नैनो के बजाय vi में खोला जब फ़ाइल अलग है?
dardub

76

आदमी को उद्धृत करने के लिए:

-E विकल्प का उपयोग विज़ुअल या EDITOR पर्यावरण चर द्वारा निर्दिष्ट संपादक का उपयोग करके वर्तमान crontab को संपादित करने के लिए किया जाता है

सबसे अधिक बार यदि आप crontab -eएक्स से चलते हैं, तो आपने VISUALसेट किया है; इसका उपयोग किया जाता है। इसे इस्तेमाल करे:

VISUAL=vi crontab -e

यह सिर्फ मेरे लिए काम किया :)


स्पष्टीकरण के लिए धन्यवाद, वास्तव में मैं एक्स से मेरी टर्मिनल चला रहा हूँ
antonjs

1
सबसे अच्छा विकल्प अगर आपका crontab -e sudo के साथ चल रहा है :)sudo VISUAL=vi crontab -e
MediaVince

42

यदि उपरोक्त विधियां काम नहीं करती हैं (जैसा कि उन्होंने मेरे Ubuntu 13.04 इंस्टॉलेशन पर काम नहीं किया) तो कोशिश करें:

कई वैकल्पिक तरीके हैं:

1) चयन-संपादक चलाएँ

select-editor

2) मैन्युअल रूप से फ़ाइल को संपादित करें: ~/.selected_editorअपने पसंदीदा संपादक को निर्दिष्ट करना। इस विकल्प के साथ आप संपादक मापदंडों को निर्दिष्ट कर सकते हैं।

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/emacs -nw"

3) आप कमांडलाइन पर मक्खी के साथ निर्दिष्ट कर सकते हैं:

env VISUAL="emacs -nw" crontab -e

1
मैं nanoपहली बार crontab खोलते समय डिफ़ॉल्ट संपादक सेट करने में गलती से था । तब मुझे sudo select-editorइसे काम करने के लिए उपयोग करना पड़ा । एक टिप अगर केवल select-editorकाम नहीं करता है
244an

2
आपको अपने व्यक्तिगत कॉन्फ़िगरेशन के लिए "sudo" का उपयोग नहीं करना चाहिए। यह उन चीजों को तोड़ सकता है जो आपको सामान्य कंप्यूटर उपयोग के लिए उन्नत ऑपरेशन में रहने के लिए मजबूर करती हैं। Sudo (एलिवेटेड कमांड) आपके व्यक्तिगत क्षेत्र (~ उपयोगकर्ता क्षेत्र) के बाहर सिस्टमव्यापी सुविधाओं के साथ काम करने के लिए है।
LD जेम्स

5

मुझे लगता है कि आपको पूर्ण पथ का उपयोग करने की आवश्यकता हो सकती है:

export EDITOR=/usr/bin/vim

3
जाल है कि VISUALपहले जाँच की है। तो आपके जैसे पूरी तरह से ध्वनि सलाह एक SSH सत्र के लिए अच्छी तरह से काम करती है और एक डेस्कटॉप बॉक्स पर रहस्यमय तरीके से विफल हो जाती है।
9000

मैंने वर्णित करते हुए निर्यात करने की कोशिश की, लेकिन यह काम नहीं किया। पहले असाइन करके और फिर निर्यात करके मेरे लिए काम किया, जैसे: EDITOR = / usr / bin / vi; निर्यात EDITOR। यहां SSH के तहत SunOS का उपयोग करना।
एलन

5

आप इसे VIM एडिटर में खोलने के लिए नीचे दिए गए कमांड का उपयोग कर सकते हैं।

export VISUAL=vim; crontab -e

नोट: कृपया सुनिश्चित करें कि VIM संपादक आपके सर्वर पर स्थापित है।



2

यह मेरे लिए काम नहीं कर रहा था। मैं सूडो के साथ कोंट्रेब चलाता हूं, इसलिए मैंने रूट पर स्विच किया, उपरोक्त सुझाव दिए, और कोंट्राब विम में खुल जाएगा, लेकिन यह अभी भी मेरे उपयोगकर्ता खाते से नहीं होगा। अंत में मैं sudo select-editorउपयोगकर्ता खाते से भागा और उसने चाल चली ।


1
यदि आपको अपने उपयोगकर्ता वातावरण को कॉन्फ़िगर करने के लिए sudo चलाना है, तो आपको उन समस्याओं का संकेत देना चाहिए, जिन्हें आपको संबोधित करना चाहिए। आपने अपने व्यक्तिगत स्थान पर sudo चलाया है और उन फ़ाइलों की अनुमति खो दी है जो आपके स्वामित्व में होनी चाहिए। आप दौड़ कर अपना स्थान जांच सकते हैं find ~/ -mount ! -user $(whoami):। आप समस्या को चलाकर ठीक कर सकते हैं sudo chown -R $(whoami):$(whoami) ~/:।
एलडी जेम्स

@LDJames आप सही थे, धन्यवाद। जैसा कि यह पता चला है कि यह केवल .select_editor फ़ाइल थी जो रूट के स्वामित्व में थी।
felwithe

2

यह मेरे लिए काम किया:

EDITOR="/usr/bin/vim"
export EDITOR

वर्तमान उपयोगकर्ता के लिए इसे सक्षम करने के लिए इसे ~ / .bash_profile या ~ / .bashrc में जोड़ें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.