Temel olarak önceki (komut) argümanlarını sormada bir yararı vardır .
Örneğin, aşağıdaki komut verilirse:
echo Hello, world how are you today?
Daha sonra, Hello,ilk argüman ve olacak altıncı sonuncu; yani buna yazarak başvurulabilir:today?
Alt+6 bunu takiben Ctrl-Alt-6
Ctrlgeleneksel olarak şapka karakteri olarak gösterilir ^tuşları İsimler başına ilave ve Altsıra M-olmasıdır M eta öneki.
Böylece yukarıdaki kısayol, ^Myyank olarak yeniden tanımlanabilir .
Ayrıca, komut satırında şapka değiştirme kısayolu vardır:
echo Hello, world!
^Hello^Bye
Bye, world!
önceki komutun ilk eşleşen dizesini değiştirmek , yani:
Hello, world! Hello, people!
^Hello^Bye
sonuç:
Bye, world! Hello, people!
ikinci maçı ( hello) değiştirmeden bırakır .
Not: Şapkalar arasında boşluk bırakmayın , aksi takdirde işlem çalışmaz.
Yukarıdaki sadece bir kısayoldur:
!:s/Hello/Bye
önceki komutta bulunan ilk bulunan (eşleşen) dize için olay düzeyinde (*) ikamesi kullanılırken, ilk parçanın ganahtarla önek eklenmesi , tüm satıra g için lobal olarak uygulanır :
echo Hello, world! Hello, people!
!:gs/Hello/Bye
Bye, world! Bye, people!
olarak genellikle gibi diğer ilgili komutlar yapılıyor sed, vive de regex(normal ifade) - (aramak için standart bir yol eşleşme dizesini ).
Hayır, yapamazsınız !:sg/Hello/Byeya da !:s/Hello/Bye/gburada, bu sözdizimi !
- ! olaylar içindir; olay, komut çıktısı veya komut geçmişinde yapılan işlem olarak anlaşılabilir.
Bunu kendim kullanarak ve manuel sayfalar, bloglar ve forumlar da dahil olmak üzere çeşitli kaynaklardan okuduğum şeyleri kendi başıma deneyerek anladım.
Umarım gizemli yollara ışık tutacaktır bash, Bourne-Again kabuğunun ( shmucidinin soyadından sonra Bourne kabuğu olarak adlandırılan kabukta bir oyun ), sunucular da dahil olmak üzere birçok dağıtımda varsayılan kabuk olan sunucu ( sunucu işletim sistemleri ).
bind -lpararken, mevcut bağlamaları çalıştırmayı ve bakmayı seviyorum .