Jalankan kembali beberapa perintah riwayat


22

Bayangkan Anda baru saja menjalankan selusin perintah. Mengatakan...

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

Aku tahu aku bisa kembali menjalankan mereka digabungkan dengan !-12 && !-11 && !-10 && (and so on) && !!jika mereka kebetulan memiliki hanya telah run (tidak mungkin) atau !10000 && !10001 && !10002 && (and so on), tetapi ada cara yang lebih sederhana daripada tangan mengetik setiap nomor sejarah dengan bang dan ampersands?

Apakah mungkin ada beberapa hal jangkauan yang saya tidak sadari di bash?

misal !{10000-10012}# sesuatu seperti ini, hanya berfungsi.

Jawaban:


23

Ini untuk apa fcperintah itu.

fc -12 -1

atau

fc 10000 10012

Ini bukan yang Anda inginkan karena akan meluncurkan editor terlebih dahulu, tapi itu mungkin hal yang baik karena memberi Anda kesempatan untuk memeriksa ulang apakah Anda memiliki perintah yang benar dan bahkan mengeditnya menggunakan semua kemampuan editor favorit Anda. Setelah Anda menyimpan perubahan dan keluar dari editor, perintah akan dijalankan.


Ah hah! Cemerlang! fc. Perbaiki Perintah. Masuk akal!
inanutshellus

1
Untuk menghindari peluncuran editor (berbahaya!), Anda dapat menggunakanfc -e true -12 -1
BingsF

tidak tersedia di ubuntu
okwap

1
@ wap, omong kosong. Ini POSIX ditentukan dan tentu saja tersedia di Ubuntu. (Tapi ini adalah built-in shell - sebagaimana mestinya - jadi jika Anda mencari di dalam /binAnda tidak akan menemukannya.)
Wildcard
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.