इसके लिए कोई अंतर्निहित कार्य नहीं है, लेकिन आप शेल कार्यक्षमता का उपयोग करने में मदद कर सकते हैं ताकि आपको cdचलाने के बाद फिर से कमांड का तर्क न लिखना पड़े mkdir:
- पिछला कमांड से अंतिम तर्क सम्मिलित करने के लिए टाइप करें
cd , फिर Esc .(या Alt+ .)।
cd !$cdपिछली कमांड के अंतिम तर्क पर अमल करता है ।
- प्रेस Upपिछले कमांड लाइन याद करने के लिए और फिर संपादन इसे बदलने के लिए
mkdirमें cd।
आप अपने में एक साधारण मेक-एंड-चेंज-डायरेक्टरी फ़ंक्शन को परिभाषित कर सकते हैं ~/.bashrc:
mkcd () { mkdir "$1" && cd "$1"; }
अपने पुनः लोड करें .bashrc( . ~/.bashrc) या बैश को पुनरारंभ करें, और अब आप टाइप कर सकते हैं mkcd new-directory।
यह सरल संस्करण कुछ असामान्य मामलों में विफल रहता है जिसमें अजीब निर्देशिका नाम या ..प्रतीकात्मक लिंक शामिल हैं। यहाँ एक है जो करता है स्पष्टीकरण के लिए, इस प्रश्न का यूनिक्स और लिनक्स संस्करण देखें ।
mkcd () {
case "$1" in
/*) mkdir -p "$1" && cd "$1";;
*/../*) (cd "./${1%/../*}/.." && mkdir -p "./${1##*/../}") && cd "$1";;
../*) (cd .. && mkdir -p "${1#.}") && cd "$1";;
*) mkdir -p "./$1" && cd "./$1";;
esac
}
mkdir "NewDir" && cd "$_"mkdir "NewDir" && cd "NewDir"ऑटो की तरह महान काम पूरा नहीं करता है। BTW "$ _" क्या है?