$ SHELL -L क्या करता है?


2

गलती से, मैंने कमान चला दी

exec $SHELL -l

मेरे टर्मिनल में, और यह बदल गया कि मेरा संकेत कैसा दिखता है

Macintosh:~ myname$ exec $SHELL -l
Macintosh-2:~ myname$ cd

यानी लबादा के बाद "-2" है

Macintosh:~ myname$
Macintosh-2: myname$

मुझे यकीन नहीं है कि यह मेरे सिस्टम पर होने वाली कुछ समस्याओं के लिए जिम्मेदार हो सकता है।

मैं अपने सिस्टम पर रूबी 1.9.3 का उपयोग करने की कोशिश कर रहा हूं, जिसे मैंने रेंबव के साथ स्थापित किया है।

rbenv version
1.9.3-p327

हालांकि, जब मैं रत्नों को स्थापित करने की कोशिश करता हूं, तो मुझे एक त्रुटि संदेश मिल रहा है कि उन्हें कम से कम रूबी 1.9.2 की आवश्यकता है, इसलिए मैं मान रहा हूं कि मशीन अभी भी रूबी के संस्करण का उपयोग कर रही है जो मेरे मैक के साथ आता है। मैंने इसे ठीक करने की कोशिश की

gem install bundle
rbenv rehash
bundle install

लेकिन मुझे कम से कम रूबी 1.9.2 की आवश्यकता के बारे में एक ही त्रुटि संदेश मिल रहा है, इसलिए मैं सोच रहा हूं कि क्या चलने exec $SHELL -lका प्रभाव किसी कारण से रत्नों को स्थापित करने से रोक रहा है।


आप किस खोल का उपयोग कर रहे हैं? (सबसे संभावित उत्तर है bash, लेकिन csh, kshऔर zshकुछ अन्य संभावनाएं हैं।) यदि आप टाइप करते हैं तो आप क्या देखते हैं echo $SHELL? (इस प्रश्न का उत्तर संभवतः आपको पहले प्रश्न का उत्तर देगा।) यदि आप लॉगआउट और फिर से लॉगिन करते हैं (या नई शेल विंडो शुरू करते हैं, तो जो भी लागू हो) क्या होगा? आपको किस तरह की समस्या हो रही है?
स्कॉट

@ देखें मैं मैक पर हूं, पहाड़ी शेर। मैं ओपी को एक अपडेट में अपनी समस्या बताऊंगा।
ब्रेन लाइकडुलपेंसिल

जवाबों:


2

$SHELLआपके शेल (कमांड दुभाषिया) को संदर्भित करता है। अधिकांश गोले –l(लोअरकेस एल) विकल्प को पहचानने के लिए इसका अर्थ है कि यह एक "लॉगिन शेल" है, जिसका मुख्य रूप से मतलब है कि यह अतिरिक्त कमांड फ़ाइलों को पढ़ता है और संसाधित करता है (उदाहरण के लिए, cshहमेशा पढ़ता है .cshrc, लेकिन अगर यह "लॉगिन शेल" है, तो यह भी पढ़ता है) .login)। आपने एक नई शेल प्रक्रिया शुरू की है और इसे "लॉगिन शेल" की तरह कार्य करने के लिए कहा है।

कुछ गोले (मेरा मानना bashहै कि एक है) पदानुक्रमित खोल प्रक्रियाओं का ट्रैक रखें और उपयोगकर्ता को गहराई, या स्तर को प्रदर्शित करने दें। इसे अक्सर शेल प्रॉम्प्ट में शामिल किया जाता है, जैसे:

 (शीघ्र स्ट्रिंग) (शीघ्र स्ट्रिंग) (शीघ्र स्ट्रिंग) # ध्यान दें कि शेल स्तर है , (शीघ्र स्ट्रिंग) # यह दर्शाता है कि आप एक नई शेल प्रक्रिया में हैं। (प्रॉम्प्ट स्ट्रिंग) (शीघ्र स्ट्रिंग) # मूल शेल प्रक्रिया पर ध्यान दें।pwd
/dir1
 $SHELL
  2 cd ../dir2                2
  2 rm *                           
  2 exit
 pwd                                   
/dir1

यह RubyGems के साथ आपकी समस्या के साथ कुछ भी नहीं करना चाहिए।


1
धन्यवाद, लेकिन मैं इसे मूल शेल स्तर पर वापस नहीं ला सकता। मैंने 'बाहर निकलने' की कोशिश की और यह बाहर निकल गया, लेकिन जब मैंने एक नई टर्मिनल विंडो खोली तो यह शेल स्तर 2 फिर से है
ब्रेन लाइकडुलपेंसिल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.