Saya sangat bingung tentang sesi terminal ubuntu saya, sepertinya untuk mengganti bagian dalam perintah yang dimulai dengan !
diikuti oleh nomor dengan perintah yang tampaknya acak. Itu melakukannya dengan !87
menggantinya dengan screen -l
dan juga dengan !88
dan menggantinya dengan ls
.
Setiap ide mengapa ini terjadi akan sangat dihargai.
command-line
bash
history
bash-history
usbpc102
sumber
sumber
Jawaban:
Itu
bash
ekspansi sejarah, misalnyamenjalankan kembali perintah dari baris sejarah
87
.Anda menemukan deskripsi fitur ini di
man bash
, bagian "SEJARAH EKSPANSI":Jadi untuk segera memanggil perintah terakhir, lakukan
!-1
dan untuk perintah terakhir kelima!-5
. Sinonim yang berguna untuk!-1
adalah!!
- jika Anda memanggil misapt install something
dan lupasudo
, jalankan sajasudo !!
dan Anda baik-baik saja.Untuk menghindari ekspansi riwayat, Anda harus keluar dari tanda seru dengan garis miring terbalik (
\!
) atau menggunakan tanda kutip tunggal ('!'
).sumber
!
ke perintah Anda dan menghindari ekspansi riwayat, Anda perlu mengutip satu atau menghindarinya:foo '!87'
ataufoo \!87
. (tanda kutip ganda juga akan melakukan ekspansi pada isinya.)