GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Bash Prompt Disadap Saat Saya Menelusuri Riwayat??

Pertanyaan ini sudah memiliki jawaban di sini :Terminal prompt tidak terbungkus dengan benar

(9 jawaban)
Tutup 3 tahun yang lalu.

Seringkali ketika saya mulai melihat riwayat perintah, beberapa karakter dari perintah yang ditampilkan tidak terhapus, misalnya:

Apa yang terjadi:

prompt$ some_command
prompt$ some_commanother_command

Apa yang seharusnya terjadi:

prompt$ some_command
prompt$ another_command

Saya tidak dapat menghapus karakter tersebut dan bash mengabaikannya saat menjalankan perintah. Mereka juga menghilang ketika prompt baru sedang ditampilkan (setelah menekan Enter misalnya).

Saya bertanya kepada orang lain yang bekerja di Linux di tempat kerja saya dan mereka mengatakan bahwa mereka kadang-kadang memiliki masalah itu juga, tetapi mereka tidak tahu bagaimana menyelesaikan masalah itu.

Saya memiliki Ubuntu 11.10 dan saya menggunakan guake. Ini PS1 saya :

e[0;31mu A ${PWD##*/}e[0;32m$(parse_git_branch)e[0;31m$e[m

di mana parse_git_branch adalah

parse_git_branch () {
    git name-rev HEAD 2> /dev/null | sed 's#HEAD (.*)# (1)#'
}

Sejauh yang saya tahu, rekan kerja saya memiliki masalah itu bahkan dengan PS1 yang kurang "mewah".

Jawaban yang Diterima:

Gunakan [...] di sekitar bagian PS1 yang memiliki panjang 0. Ini membantu bash untuk mendapatkan panjang prompt yang tepat. Bahkan dengan ukuran ini, baris perintah Anda bisa rusak saat menggunakan karakter multibyte (setidaknya milik saya). Menekan Ctrl+L juga membantu dalam kasus seperti itu (tetapi membersihkan layar pada saat yang sama).


Linux
  1. Bagaimana cara menambahkan ikon ke prompt bash

  2. Bagaimana cara mengatur warna command prompt di Bash?

  3. Mengapa saya mendapatkan Izin Ditolak saat menjalankan ssh-add?

  1. mengapa menghapus sejarah bash tidak cukup?

  2. Bagaimana cara menemukan nomor baris di Bash ketika terjadi kesalahan?

  3. Perilaku riwayat bash yang aneh saat menjalankan beberapa sesi

  1. Kiat bash untuk sehari-hari di baris perintah

  2. Bash Menimpa Baris Pertama, Ps1 Bash Prompt?

  3. Memahami Tanda Seru (!) Di Bash?