कमांड चलाते समय, कभी-कभी आपको अंतिम कमांड से तर्क के साथ कमांड चलाने की आवश्यकता होती है। तुम ऐसा कैसे कर सकते हो?
बेशक, तीर कुंजी और के उपयोग को छोड़कर 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