Komutları çalıştırırken, bazen belki son komutun argümanıyla bir komut çalıştırmanız gerekebilir. Bunu nasıl yapabilirsiniz?
Tabii ki, ok tuşları ve kullanımını hariç Deltuşları: ↑←←←... ←→→DelDelDel... Del<new_command>
.
Komutları çalıştırırken, bazen belki son komutun argümanıyla bir komut çalıştırmanız gerekebilir. Bunu nasıl yapabilirsiniz?
Tabii ki, ok tuşları ve kullanımını hariç Deltuşları: ↑←←←... ←→→DelDelDel... Del<new_command>
.
Yanıtlar:
Örneğin, bu komutu çalıştırırsanız:
mkdir long_path_here/new_dir
büyük olasılıkla yeni oluşturulan dizine gitmek istersiniz. Bunu sonraki "kısayolları" kullanarak yapabilirsiniz:
cd
Esc.- cd
ve ardından bastıktan Escsonra yazın .(aynı anda değil). Bir önceki komutun argümanları yoksa, önceki komutun kendisini alırsınız.cd !*
- bu durumda tüm argümanları previuos komutundan alırsınız. Önceki komutun argümanları yoksa, hiçbir şey elde edemezsiniz.cd
Alt+ .- tipi cd
ve basıldıktan sonra Altve .(aynı anda). Aslında, bu yolu kullanarak ve basmaya devam ederseniz .(serbest bırakmadan Alt), tarihten her komut için son tartışmayı alırsınız. Bir komutun argümanı yoksa, komutun kendisini alırsınız.Genel olarak: <command>
Esc.veya <command> !*
veya <command>
Alt+ ..
Tüm argümanların bir önceki komuttan veya sadece son argümandan olmasını istiyorsanız birkaç kısayol vardır.
<command> !*
<command> !$
Örnekler:
ls foo/ bar/
ls !* # Gives the results of ls foo/ bar/
ls foo/ bar/
ls !$ # Gives the results of ls bar/
Önceki komuttaki bir argüman listesinden tek bir argüman istiyorsanız, kullanabilirsiniz. <command> !!:<argNumber>
Örnek:
ls foo/ bar/ baz/
ls !!:2 # Gives the results of ls bar/
ls foo/ bar/ baz/
ls !!:1 # Gives the results of ls foo/
!
tek bir argüman versiyonunda ihtiyacınız var, örn !:2
. Varsayılan bash varsayalım.
!^
Yerinde de kullanabilirsiniz !:1
.
Bahsedilen !*
ve !$
iyi bir şey, ancak küçük bir düzenleme yapmanız gerektiğinde, okuma çizgisi kısayolları yardımcı oluyor!
Örneğin, yerine sayısız ait ↑←←←... ←→→DelDelDel... Delsadece basın edebilirsiniz ↑ Ctrl-a(satırın başlangıcına atlama) Alt+d(kelimenin sonuna silme)
Daha fazla bilgi man readline
ve aramak için Default key bindings
.
Çekmek için n
önceki komutu türünden inci argüman Alt+ n
+ Alt_. Örneğin, sonra:
$ echo 1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
echo
ardından gelen yazım Alt2Alt_size bunu bir sonraki satırda verecektir:
$ echo 2
Vurulduktan sonra "ekran görüntüsü" Alt2:
(arg: 2) echo
Önceki komutların th argümanını art arda Alt_almak için birçok kez tekrarlayabilirsiniz n
.
Başka bir faydalı fikir, takma adı tanımlamaktır r="fc -s"
. Sonra komut değiştirmeleri yapabilirsiniz:
$ echo 1
1
$ r echo=history
history 1
27755 history 1