मैं यह नहीं बता सकता कि कितनी बार मैंने एक कमांड के लिए कामना की है जो दोनों एक डायरेक्टरी बनाए और उस डायरेक्टरी को आगे बढ़ाए। मूल रूप से, मैं निम्नलिखित के बराबर चाहूंगा:
mkdir -p /arbitrarily/long/path; cd /arbitrarily/long/path
लेकिन केवल /arbitrarily/long/path
एक बार टाइप करने पर , कुछ इस तरह:
mk-cd /arbitrarily/long/path
मैंने ऐसा करने के लिए एक स्क्रिप्ट बनाने की कोशिश की, लेकिन यह केवल स्क्रिप्ट के भीतर निर्देशिका को बदलता है। मैं चाहूंगा कि शेल में डायरेक्टरी भी बदल गई हो।
#!/bin/bash
mkdir $1
cd $1
export PWD=$PWD
मैं यह काम कैसे कर पाऊंगा?
cd
(का उपयोग कर पिछले निर्देशिका के लिए वापसी से संबंधित जानकारी cd -
, उपयोग pushd
और popd
एक निर्देशिका के "ढेर" बनाए रखने के लिए): superuser.com/questions/324512/...
mkdir -p /very/long/path
, तो का उपयोग cd
, अंतरिक्ष, और फिर Alt + .
अंतिम तर्क, यानी dir नाम दोहराने के लिए।
mkdir -p /very/long/path; cd !#:2
। स्ट्रिंग !#:2
तर्क nr तक विस्तारित होगी। 2 (यानी, तीसरा तर्क /very/long/path
, जैसा कि गिनती शून्य से शुरू होती है)।
!$
। मैं हर समय इस विशेष चाल का उपयोग करता हूं, हालांकि इतिहास विस्तार के साथ आप बहुत कुछ कर सकते हैं ।
cd
, आपने शुरू से ही एक विशेष मामला चुना। : डी