जवाबों:
आप पिछली कमांड के अंतिम तर्क का उपयोग कर सकते हैं $_
या !$
याद कर सकते हैं ।
इसके अलावा Alt + .
पिछले आदेशों में से किसी का अंतिम तर्क याद करने के लिए इस्तेमाल किया जा सकता।
!!:1
, !!:2
आदि ( !!:0
है पिछला आदेश ही।) देखें gnu.org/software/bash/manual/bashref.html#History-Interaction
!$
, आप !^
पहले तर्क के लिए उपयोग करते हैं।
echo tiger rabbit
कैसे बता सकता हूं tiger
?
Alt + .
vi मोड में काम नहीं करता है। सिर्फ FYI करें, दूसरों के लिए जो यहाँ भ्रमित थे।
यदि पिछली कमांड में दो तर्क थे, जैसे
ls a.txt b.txt
और आप पहले वाला चाहते थे, आप टाइप कर सकते हैं
!:1
दे रही है
a.txt
या यदि आप दोनों चाहते थे, तो आप टाइप कर सकते हैं
!:1-2
दे रही है
a.txt b.txt
आप इसे किसी भी तर्क के लिए बढ़ा सकते हैं, जैसे:
!:10-12
-bash: :1-2: bad word specifier
ls a.txt
लाइन 2ll !:1-2
!:^-$
संख्याओं के संयोजन में निश्चित रूप से समान कोड का उपयोग किया जा सकता है।
!!:n
जहाँ n
आप चाहते हैं की 0-आधारित स्थिति है।
उदाहरण के लिए:
echo 'one' 'two'
# "one two"
echo !!:2
# "two"
!
उपसर्ग का उपयोग पिछले आदेशों किया जाता है।
अन्य उपयोगी कमांड:
!$
- पिछली कमांड से अंतिम तर्क!^
- पिछली कमांड से पहला तर्क (प्रोग्राम / बिल्ट-इन / स्क्रिप्ट के बाद)!!
- पिछली कमांड (अक्सर "बैंग बैंग" का उच्चारण किया जाता है)!n
- आदेश संख्या n
सेhistory
!pattern
- सबसे हालिया कमांड मिलान pattern
!!:s/find/replace
- अंतिम आदेश, के find
साथ स्थानापन्नreplace
!!:s/find/replace
, आप भी कर सकते हैं ^find^replace
।
!*
- पिछले कमांड (प्रोग्राम / बिल्ट-इन / स्क्रिप्ट के बाद) से सभी तर्क। उदाहरण: ls *.tmp *.cache rm !*
कमांड लाइन में आप esc- .या alt+ दबा सकते हैं.
यह आपके पिछले आदेशों के अंतिम तर्क के माध्यम से चक्रित होता है ।
↑
और ↓
साथ ही साथ काम करने के लिए कुंजी।
यदि आप किसी विशेष कमांड के लिए इतिहास में दी गई संख्या जानते हैं, तो आप निम्नलिखित शब्दों का उपयोग करके उस कमांड में बहुत तर्क ले सकते हैं।
इतिहास में तीसरे आदेश से दूसरा तर्क लेने के लिए निम्नलिखित का उपयोग करें,
!3:2
इतिहास में पांचवें अंतिम आदेश से तीसरा तर्क लेने के लिए निम्नलिखित का उपयोग करें,
!-5:3
माइनस साइन का उपयोग करते हुए, आप इसे इतिहास की अंतिम कमांड से पार करने के लिए कहते हैं।
! * पिछले सभी तर्कों के साथ एक नई कमांड चलाता है।
ls /tmp
cd !*
#you are now in /tmp
$_
इसके बजाय उपयोग करना था।
हां, आप !$
पूर्ववर्ती कमांड के अंतिम तर्क को याद करने के लिए उपयोग कर सकते हैं ।