Birden çok geçmiş komutunu yeniden çalıştır


22

Sadece bir düzine komut çalıştırdığını hayal et. Söylemek...

$ cd foo/    # history cmd #10000 (my history is very long)
$ ... more commands ...
$ cd ../     # history cmd #10012 

Ben onlara ile birleştirilmiş yeniden çalıştırmak biliyorum !-12 && !-11 && !-10 && (and so on) && !!onlar için ne varsa sadece edilmiş run (olası) ya da !10000 && !10001 && !10002 && (and so on)ancak bir patlamayla ve ve işareti ile her geçmiş numarasını elle yazmaktan daha basit bir yolu var mı?

Bash'te bilmediğim bir çeşit menzilli şey olabilir mi?

örneğin !{10000-10012}# böyle bir şey, sadece çalışıyor.

Yanıtlar:


23

Bu fckomut bunun içindir.

fc -12 -1

veya

fc 10000 10012

Bu, ilk önce bir editör başlatacak olduğundan tam olarak istediğiniz bir şey değildir, ancak bu, muhtemelen doğru komutlara sahip olduğunuzu iki kez kontrol etme ve hatta en sevdiğiniz editörün tüm özelliklerini kullanarak onları düzenleme şansı verdiğiniz için iyi bir şeydir. Siz değişiklikleri kaydettikten ve editörden çıktıktan sonra komutlar çalıştırılacaktır.


Ah hah! Parlak! fc. Komutları düzelt. Mantıklı!
inanutshellus 09:12

1
Bir editörün yayınlanmasını önlemek için (tehlikeli!), Kullanabilirsinizfc -e true -12 -1
BingsF,


1
@ okwap, saçmalık. Bu var POSIX belirtilen ve Ubuntu kesinlikle mevcut. (Yerleşik bir kabuk olsa da - olması gerektiği gibi - bu nedenle eğer bakarsanız /binonu bulamazsınız.)
Wildcard
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.