Saya sering mencari perubahan dengan history | grep 'string'
Saya mendapatkan daftar perintah dalam histori saya, bersama dengan nomor baris histori), mis
history | grep 'git'
755 git status
1535 git push origin master
1570 git merge origin/one-146
1667 git reset --hard origin/master
Sekarang saya dapat mengingat dan menjalankan perintah dalam sekali jalan !nnn
, misalnya:
!755
git status
# On branch master
nothing to commit, working directory clean
Pertanyaan saya adalah: Bagaimana saya bisa mengingat perintah sejarah bernomor dan tetap pada baris perintah untuk mengedit dan tidak langsung mengeksekusi 'sebagaimana adanya', seperti itu !
, sehingga saya dapat mengubah beberapa hal peform presing return?
sumber
Ctrl-a
misalnya) akan menghentikan pencarian meninggalkan entri sejarah saat ini di prompt perintah, tanpa menjalankannya. Ini mungkin atau mungkin tidak cukup, tergantung pada apa yang diinginkan @Michael.Jika Anda mengonfigurasi file .bashrc Anda untuk menggunakan editor vi pada baris perintah, itu akan membuat pengeditan baris perintah menjadi jauh lebih kompleks.
Pertama, setelah "set -o vi" diaktifkan, Anda cukup menekan "<esc> k" , lalu terus tekan "k" untuk membuka file histori seolah-olah, jika Anda melewati entri, gunakan "j" untuk turun .
CATATAN: saat menggunakan vi, ada dua mode: perintah dan edit untuk masuk ke mode perintah tekan ESCAPE KEY ONCE, kemudian a, A, i, I, I, dll untuk menyisipkan.
Pad kursor sederhana di vi: kiri = h, turun = j, atas = k, kanan = l http://linuxmeister.net/vi/vi-Summary.jpg
Saya telah menambahkan semua entri yang diperlukan untuk membuat pekerjaan ini di: http://linuxmeister.net/Notes/bashrc-simple.html
Jadi, berdasarkan informasi yang sangat membantu di atas, saya dapat menggunakan "histori" dan MENGHAPUS garis dari "histori", TANPA mengeksekusinya. (TERIMA KASIH ATAS POSTING ITU!)
jika shopt terdaftar dan histverify "off" a! akan EXECUTE segera,
jika Anda telah menambahkan ke .bashrc Anda, atau mengetik: shopt -s histverify , maka a! memungkinkan pengeditan, misalnya:
->! 5
ketika saya menekan 5 perintah berikut muncul, tetapi TIDAK mengeksekusi
### jika histverify adalah "on".
Ingat bahwa Linus dan Richard menciptakan alat Linux dan GNU untuk mengambil keuntungan dari UNIX. Editor vi (dibuat oleh Bill Joy) adalah salah satu alat terbaik untuk dikuasai karena pada setiap distribusi UNIX dan Linux.
Semua editor baris perintah lainnya perlu dimuat dan memerlukan perangkat lunak tambahan. Menggunakan GUI di Linux (selain Firefox, Thunderbird, dan OpenOffice) seperti menderek Diesel 4x4 Anda dengan VW Beetle 1968 ... itu akan berhasil, tetapi tentu saja itu tidak masuk akal.
Ingat apa yang dikatakan Kernigan tentang GUI, "apa yang Anda lihat adalah yang Anda dapatkan".
sumber
lalu tekan panah atas, hapus kata
echo
dan edit sisanya; tekan enter untuk menjalankan.sumber