निर्देशिका में अपना नाम लिखकर cd?


20

उदाहरण के लिए यदि कोई निर्देशिका 'बूँद' मौजूद है और मैं सिर्फ 'बूँद [वापसी]' टाइप करता हूँ, तो सिस्टम cdमेरे लिए बूँद निर्देशिका में है।

लिनक्स (उबंटू) में मैं shopt -s autocdअपनी .bashrcफ़ाइल में जोड़ सकता हूं , लेकिन ओएस एक्स पर यह एक त्रुटि देता है:-bash: shopt: autocd: invalid shell option name

जवाबों:


25

autocdbash 4.0 में जोड़ा गया था। आप होमब्रे के साथ बैश का एक नया संस्करण स्थापित कर सकते हैं और उसके बाद डिफ़ॉल्ट लॉगिन शेल को बदल सकते हैं chsh:

brew install bash;echo /usr/local/bin/bash|sudo tee -a /etc/shells;chsh -s /usr/local/bin/bash

आपके द्वारा एक नया लॉगिन खोल (या टर्मिनल या iTerm 2 में डिफ़ॉल्ट रूप से एक टैब) खोलने के बाद, echo $BASH_VERSIONकुछ ऐसा प्रिंट करना चाहिए 4.2.45(2)-release

टर्मिनल और iTerm 2 डिफ़ॉल्ट रूप से लॉगिन गोले के रूप में नए गोले खोलते हैं, इसलिए बैश पढ़ता है ~/.bash_profileलेकिन नहीं ~/.bashrc। यदि आप किसी भी चीज़ ~/.bashrcसे स्रोत नहीं बनाते हैं, तो इसके बजाय ~/.bash_profileजोड़ें ।shopt -s autocd~/.bash_profile~/.bashrc


1
बहुत बढ़िया जवाब। बैश 4 भी MacPorts में उपलब्ध है: sudo port install bashआपके चरण 1 में भी काम कर रहा है।
इफिसिथ

मैंने ऊपर किया। मैं ४.२.२ ९ के साथ समाप्त हो गया और मैंने / etc / गोले में परिवर्तन किया और cssh किया, लेकिन कोई खुशी नहीं हुई
माइकल ड्यूरेंट

@MichaelDurrant मैंने जवाब संपादित किया। bash -version$ PATH पर पहला संस्करण होगा। क्या आपने कोशिश की echo $BASH_VERSION?
लारी

यह काम करता है अगर मैं सीधे कमांड / usr / लोकल / बिन / बैश चलाता हूं - मुझे v4.2 मिलता है, लेकिन मैं कैसे एक नई विंडो के लिए अपना डिफ़ॉल्ट शेल बना सकता हूं?
माइकल डुरंट

1
@MichaelDurrant क्या आपके टर्मिनल एप्लिकेशन को कुछ पसंद /usr/bin/loginया login -fp $USERवरीयताओं के साथ खोलने के लिए सेट किया गया है?
12

2

shopt -pयहाँ कुछ मदद का उत्पादन हो सकता है। यह व्यवस्थित विकल्पों की सूची प्रिंट करता है। दुर्भाग्य से, शेर पर, autocdहै नहीं उनमें से एक (नीचे अंश देखें)।

ऊपर दिए गए लॉरी के उत्तर को संपादित करें में शामिल करने के लिए अपने शेल को अपडेट करने के लिए एक समाधान हैautocd

$ shopt -p
shopt -u cdable_vars
shopt -u cdspell
shopt -u checkhash
shopt -s checkwinsize
shopt -s cmdhist
shopt -u compat31
shopt -u dotglob
shopt -u execfail
shopt -s expand_aliases
shopt -u extdebug
shopt -u extglob
shopt -s extquote
shopt -u failglob
shopt -s force_fignore
shopt -u gnu_errfmt
shopt -u histappend
shopt -u histreedit
shopt -u histverify
shopt -s hostcomplete
shopt -u huponexit
shopt -s interactive_comments
shopt -u lithist
shopt -s login_shell
shopt -u mailwarn
shopt -u no_empty_cmd_completion
shopt -u nocaseglob
shopt -u nocasematch
shopt -u nullglob
shopt -s progcomp
shopt -s promptvars
shopt -u restricted_shell
shopt -u shift_verbose
shopt -s sourcepath
shopt -u xpg_echo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.