सीडी टाइप किए बिना डायरेक्टरी बदलें?


17

क्या कमांड लाइन में बैश परिवर्तन निर्देशिका बनाना संभव है जैसे कि बिना किसी आदेश के उस निर्देशिका को टाइप करके cd?

उदाहरण के लिए यह लिखने के बजाय यह संभव है:

$ cd /tmp

मैं केवल यह लिखना चाहता हूं:

$ /tmp

दूसरे शब्दों में अगर मैं डायरेक्टरी को एप्लिकेशन के रूप में कहता हूं तो मैं उस डायरेक्टरी को एक काम के रूप में सेट करना चाहता हूं।


9
क्या इसे कोसने की जरूरत है? zsh यह (कर सकते हैं autocd)
माइकल Mrozek

1
नहीं-नहीं-नहीं, मुझे बैश में समाधान की आवश्यकता है =) यह मुख्य आवश्यकता है क्योंकि कुछ ठंडे-ठंडे रूस में कुछ वैज्ञानिक संस्थानों में स्क्रिप्टिंग भाषा के रूप में केवल बैश के साथ अवशेष हैं;)
व्लादिमीर

"Cd" न लिखकर सहेजे गए टाइपिंग की मात्रा में रास्तों के लिए बुद्धिमान डिफ़ॉल्ट स्वत: पूर्णता नहीं होने की संभावना होगी। डायर बदलने की यह विधि, जैसा कि अक्सर एक डेयर बदलता है, उस गलती से थोड़ा डरावना होता है (संभावित रूप से दुर्भावनापूर्ण) प्रोग्राम चलाने (जो आपको लगता है कि एक निर्देशिका है) बहुत संभावना बन जाता है।
माइकल

यह मेरे लिए ZSH
ishidex2

जवाबों:


36

बैश में भी autocdविकल्प है। आप इसका उपयोग करके इसे सक्षम कर सकते हैं shopt -s autocd:

pbm@tauri ~ $ shopt -s autocd
pbm@tauri ~ $ django # Now just type this
cd ./django    <- it's done automatically
pbm@tauri ~/django $

2
इंटरैक्टिव उपयोग के लिए बैश 4 में मेरी पसंदीदा नई सुविधा। (स्क्रिप्टिंग के लिए, यह **।) दुर्भाग्य से, यह पुराने संस्करणों में नहीं है।
गिल्स एसओ- बुराई को रोकना '

0

मैं कल्पना करूँगा। कुछ कैच-ऑल मैकेनिज्म है जो उबंटू में है। जब आप एक कमांड चलाते हैं जो सिस्टम पर नहीं है, तो यह कभी-कभी कहता है:

कोई आदेश 'फू' आपको मिला मतलब::

मुझे यकीन है कि आप जो कुछ भी कर सकते हैं उसे अपहरण कर सकते हैं और यह देखने के लिए एक चेक जोड़ सकते हैं कि क्या यह एक निर्देशिका दी गई है। यह शायद एक और सवाल पोस्ट करने के लायक है जो पूछ रहा है कि क्या करता है।

संपादित करें: यह पाया गया: https://wiki.ubuntu.com/CommandNotFoundMagic


हां, यह वही है जो भोली-भाली उम्मीद करेगा - हालाँकि, बैश हमसे ज्यादा स्मार्ट है और निर्देशिका के लिए कमांड_नोट_फाउंड_हैंडल भी नहीं कहता है :(
थॉमस थेमेल

कुछ शोध के बाद मुझे एक छोटा सा पैच ( mail-archive.com/bug-bash@gnu.org/msg06761.html ) मिला है जो इसे ठीक कर सकता है। दुर्भाग्य से यह पैच अनौपचारिक है, इसलिए इसे जुबांट के साथ प्रदान किए गए बैश के स्टॉक संस्करण के साथ इस्तेमाल नहीं किया जा सकता है।
व्लादिमीर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.