Bagaimana cara mengingat perintah tertentu dari riwayat perintah, tanpa menjalankannya


13

Sebagai contoh, di bash saya bisa mengetik !xyzyang akan menjalankan perintah terakhir yang saya ketik mulai dengan xyz.

Bagaimana saya bisa memunculkan perintah terakhir yang saya ketikkan diawali dengan xyztetapi tanpa menjalankannya?
mis jadi saya bisa mengubah parameter sebelum eksekusi ....

Jawaban:


20

Anda dapat melakukannya seperti ini: Pada prompt perintah tekan Ctrl+ rdan kemudian ketik perintah yang ingin Anda ingat, dalam kasus Anda xyz. Ini akan menunjukkan kepada Anda perintah lengkap tanpa menjalankannya.


1
Lebih berguna daripada !notasi, karena Anda dapat menekan Ctrl-r beberapa kali untuk beralih lebih jauh ke dalam riwayat yang cocok. Ketika Anda tiba di tempat yang tepat, Anda dapat mencoba untuk mengeksekusi tidak dengan Enter tetapi dengan Ctrl-o untuk banyak keuntungan.
kubanczyk

12

Coba !xyz:p; itu akan memanggil kembali perintah ke atas sejarah tanpa menjalankannya, jadi mis. panah atas dapat langsung mengaksesnya untuk pengeditan interaktif.

Sebagai samping, saya membuat praktek melakukan hal ini ketika mengingat perintah dengan regexp yang dibayangkan bisa menggali sesuatu merusak, sejak tergesa-gesa seorang !r, yang dimaksudkan untuk mengingat baru-baru ini yang paling rsync ...perintah, ditarik kembali dan dieksekusi sebuah rm *yang telah didorong ke stack lebih baru dari rsync.


Terima kasih, itu latihan yang bagus. Saya telah melakukan hal yang sama dengan rm -rf ./*tidak pernah bersyukur selama suatu periode. FYI Yang !xyz:pberhasil, terima kasih, tetapi membutuhkan beberapa penekanan tombol daripada solusi ctrl-r.
Mtl Dev

@ Mtlev ya; Saya menemukan ^ solusi R yang terbaik bagi EMACSorang-orang ey, sedangkan! -Path terbaik bagi violators seperti saya.
MadHatter

1
  1. Jalankan perintah berikut. Ini akan mengulangi perintah yang terakhir dieksekusi. Anda dapat menyalin dan mengedit perintah. Perintah ini diuji dalam debian.

    sejarah | ekor -2 | grep -v history | cut -d '' -f4-

  2. Atau Tekan dan tahan ctrl + R dan ketikkan huruf awal dari perintah terakhir Anda. Ini akan mencantumkan perintah yang Anda jalankan sebelumnya berdasarkan input Anda. Setelah itu menunjukkan perintah yang diinginkan, cukup tekan panah kanan untuk memilih perintah itu.


1
Perintah pertama sangat mulus !! Saya pikir lebih cepat untuk hanya melihat perintah dalam sejarah daripada menulis semua ini ^ __ ^
Grajdeanu Alex.

1

Jika pencarian riwayat terbalik gagal, lakukan apa saja dari:

$ history | grep WHAT_YOU_LOOK_FOR

Atau:

$ grep WHAT_YOU_LOOK_FOR ~/.bash_history
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.