कमांड चलाते समय, कभी-कभी आपको अंतिम कमांड से तर्क के साथ कमांड चलाने की आवश्यकता होती है। तुम ऐसा कैसे कर सकते हो?
बेशक, तीर कुंजी और के उपयोग को छोड़कर Delकुंजियाँ: ↑←←←... ←→→DelDelDel... Del<new_command>।
कमांड चलाते समय, कभी-कभी आपको अंतिम कमांड से तर्क के साथ कमांड चलाने की आवश्यकता होती है। तुम ऐसा कैसे कर सकते हो?
बेशक, तीर कुंजी और के उपयोग को छोड़कर Delकुंजियाँ: ↑←←←... ←→→DelDelDel... Del<new_command>।
जवाबों:
उदाहरण के लिए, यदि आप यह कमांड चलाते हैं:
mkdir long_path_here/new_dir
सबसे अधिक संभावना है कि आप हाल ही में बनाई गई निर्देशिका में जाना चाहते हैं। आप इसे अगले "शॉर्टकट" का उपयोग करके कर सकते हैं:
cd Esc.- प्रकार cdऔर प्रेस के बाद Escके बाद .(एक ही समय में नहीं)। यदि पिछली कमांड में कोई तर्क नहीं है, तो आपको पिछली कमांड खुद ही मिल जाएगी।cd !*- इस मामले में आपको प्रीविओस कमांड से सभी तर्क मिलेंगे। यदि पिछले आदेश में कोई तर्क नहीं है, तो आपको कुछ भी नहीं मिलेगा।cd Alt+ .- टाइप करें cdऔर प्रेस के बाद ( Altऔर .उसी समय में)। वास्तव में, इस तरह से उपयोग करना और प्रेस करना .(जारी किए बिना Alt) जारी रखना , आपको इतिहास से हर कमांड के लिए अंतिम तर्क मिलेगा। यदि किसी आदेश में कोई तर्क नहीं है, तो आप स्वयं ही आदेश प्राप्त करेंगे।सामान्य तौर पर: <command> Esc.या <command> !*या <command> Alt+ .।
यदि आप पिछले कमांड से सभी तर्क चाहते हैं, या सिर्फ अंतिम तर्क के लिए कुछ शॉर्टकट हैं।
<command> !* <command> !$उदाहरण:
ls foo/ bar/
ls !* # Gives the results of ls foo/ bar/
ls foo/ bar/
ls !$ # Gives the results of ls bar/
यदि आप पिछली कमांड के तर्कों की सूची से एकल तर्क चाहते हैं, तो आप उपयोग कर सकते हैं <command> !!:<argNumber>
उदाहरण:
ls foo/ bar/ baz/
ls !!:2 # Gives the results of ls bar/
ls foo/ bar/ baz/
ls !!:1 # Gives the results of ls foo/
!एकल arg संस्करण में एक की आवश्यकता है , जैसे !:2,। डिफ़ॉल्ट बैश मानते हुए।
!^स्थान पर भी उपयोग कर सकते हैं !:1।
उल्लेख किया !*और !$एक अच्छी बात है, लेकिन जब आपको थोड़ी सी एडिटिंग पढ़ने की आवश्यकता होती है तो शॉर्टकट मदद करने के लिए आते हैं!
उदाहरण के लिए, अनगिनत के बजाय ↑←←←... ←→→DelDelDel... Delतुम सिर्फ प्रेस कर सकते हैं ↑ Ctrl-a(लाइन के शुरू होने से कूद) Alt+d(शब्द के अंत तक हटाना)
अधिक जानकारी के लिए man readlineऔर खोजें Default key bindings।
nअपने पिछले आदेश से वें तर्क लेने के लिए , Alt+ n+ टाइप करें Alt_। उदाहरण के लिए, इसके बाद:
$ echo 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
echoइसके बाद टाइप करना Alt2Alt_आपको अगले संकेत पर देगा:
$ echo 2
आपके हिट होने के बाद "स्क्रीनशॉट" Alt2है:
(arg: 2) echo
उत्तराधिकार में पिछले आदेशों Alt_के nवें तर्क को प्राप्त करने के लिए आप कई बार दोहरा सकते हैं ।
एक अन्य उपयोगी विचार उर्फ को परिभाषित करना है r="fc -s"। फिर, आप कमांड प्रतिस्थापन कर सकते हैं:
$ echo 1
1
$ r echo=history
history 1
27755 history 1