Apakah ada cara untuk menyimpan perintah dalam bash history tanpa menjalankannya? misalnya
$ cmd [a long list of arguments]
dan sekarang saat mengetik saya ingat saya ingin melakukan hal lain dulu. Bisakah saya memiliki sesuatu seperti
$ cmd [a long list of arguments][some-key-strokes]
dan ini tidak benar-benar mengeksekusi tetapi masuk ke dalam bash history sehingga saya bisa menggunakannya nanti?
#
, dan kemudian tekan Enter.Jawaban:
Mungkin ada cara yang lebih baik, tetapi Anda dapat menggunakan
:p
pengubah ekspansi riwayat untuk mencetak baris komentar saat ini tanpa mengeksekusi.!#
adalah baris saat ini, dan%
dengan sendirinya tidak akan cocok dengan apa punsumber
ls -al
+1Gunakan
-s
opsi untukhistory
perintah:Panggilan untuk
history -s
dirinya sendiri, dengan mudahnya, tidak ditambahkan ke histori perintah, jadi dalam histori Anda tampaknya seolah-olah Anda dieksekusicmd
tanpa benar-benar melakukannya.sumber
Biasanya ini dilakukan oleh
Perhatikan bahwa nama histori dapat berbeda pada sistem Anda. Karena itu Anda dapat menggunakan
HISTFILE
lingkungan varapa yang membuat:
sumber
Biasanya saya hanya menambahkan # ke awal baris untuk mengubah baris menjadi komentar:
Saya lebih suka cara ini karena Anda bisa melakukannya hanya dengan 3 [4 jika Anda memerlukan SHIFT untuk memasukkan #] penekanan tombol
^ a pergi ke awal baris saat ini
# menambahkan komentar
ENTER mengeksekusi komentar
sumber
... atau gunakan kombo kunci:
ESC #
Lihat juga: Bash - save command tanpa menjalankannya
sumber
Anda dapat mencoba menambahkan spasi dan | (pipa) di akhir baris, tekan enter, lalu Ctrl-C'ing.
( Space, |, Enter, Ctrl+ C)
Perintah akan ada dalam riwayat Anda dengan | | pada akhirnya (cukup dengan menghapus dengan backspace) daripada # di awal (berpotensi lebih membosankan untuk dihapus).
PENOLAKAN: Saya tidak tahu apakah ini selalu berhasil! Gunakan dengan risiko Anda sendiri!
sumber
Anda dapat mencoba menggunakan baris ini:
history -s -p $COMMAND
Dari
help
:Ini berarti Anda dapat memperluas hal-hal seperti
!!
dan menyimpan hasilnya di bagian bawah sejarah.sumber
history -s
diberikan dalam jawaban dua tahun lalu. Apakah-p
peningkatan itu? Apa yang-p
harus dilakukan (Sejauh itu masuk akal untuk melakukannya, Anda harus mengedit jawaban Anda untuk membuatnya lebih baik, dan tidak menanggapi komentar saya dengan komentar lain.)Opsi lain adalah pergi ke awal baris dan melakukan hal yang akan Anda lakukan diikuti oleh &&, seperti
Jadi jika hal yang ingin Anda lakukan berhasil, perintah Anda akan segera berjalan setelahnya, dan jika gagal Anda perintah tidak akan berjalan, tetapi itu akan ada dalam sejarah. Anda juga bisa melakukannya
Karena tes tanpa args akan gagal, tetapi ini adalah beberapa penekanan tombol ekstra dibandingkan dengan
#
metode ini.sumber
Saya pikir "beberapa stroke kunci" yang Anda inginkan adalah Ctrl-U dan Ctr-Y yang menyimpan garis ke cincin-membunuh, dan kemudian menariknya kembali nanti. Itu tidak masuk ke dalam sejarah, tapi kemudian saya pikir tidak seharusnya, karena Anda tidak melakukannya.
Perintah Pembunuhan Readline
Membunuh Dan Menarik
Saya belajar ini tahun lalu, kemudian lupa dan pergi mencari stroke kunci juga.
Ini dibahas di sini juga: /unix/140741/how-to-save-a-command-you-entered-without-executing-it
sumber