Bagaimana cara mengubah prompt di Linux?

16

Prompt default akan menjadi

root@monu dev]#

Bisakah kita mengubah bagian "root @ monu" dan memberinya nama yang diinginkan?

monu
sumber

Jawaban:

23

Ini diubah dengan mengubah variabel lingkungan PS1.

Anda dapat melihat nilai saat ini PS1dengan:

root@monu dev# echo $PS1

Anda bisa melihat nilainya sama dengan \u@\h \w\$, di mana:

  • \u : nama pengguna
  • \h : nama host
  • \w : direktori kerja saat ini
  • \$: #simbol untuk pengguna root, $simbol untuk pengguna lain

Jika Anda ingin perubahan menjadi permanen, Anda harus menambahkan skrip yang mengubah nilai PS1in ~/.bashrc, karena itu dieksekusi setiap kali pengguna login.

pradeepchhetri
sumber
1
Jangan lupa untuk memasukkannya ke file ~ / .bashrc Anda juga. mis. `PS1 =" myname \\ $ "'.
Keith
5
~ / .bashrc tidak dijalankan setiap kali pengguna login. "Ketika shell interaktif yang bukan shell login dimulai, bash membaca dan mengeksekusi perintah dari ~ / .bashrc, jika file itu ada." - man bash / INVOCATION
manatwork
Dengan mengubahnya, Anda dapat mengubahnya. ?
tshepang
Untuk detailnya, lihat PROMPTINGbagian dengan man bash.
Francesco Turco
Ya, tapi bagaimana tepatnya? Bisakah Anda memberikan beberapa contoh?
Peter Mortensen
5

Ini tergantung pada cangkang Anda. Sebagai catatan penting, Anda tidak boleh menggunakan akun root sebagai akun pribadi. Buat pengguna normal dan atur akses ke sudo. Silakan periksa manual distribusi Anda tentang cara melakukan ini.

Di zsh, Anda perlu mengatur variabel PROMPT seperti:

PROMPT='%{ESC[38;5;24m%};%{ESC[0m%} '

zshell menawarkan banyak opsi lain dan ini benar-benar minimal prompt.

Dalam bash, Anda dapat mengaturnya seperti ini:

local ROOK="\[\033[38;5;24m\]"
local DEFAULT="\[\033[0;39m\]"
PS1="${ROOK}\$${DEFAULT} "

Perhatikan bahwa dalam kedua kasus, saya memiliki terminal berkemampuan 256 warna. Halaman manual akan banyak membantu ( man bashatau man zsh).

Sardathrion - Pasang kembali Monica
sumber
2
Di sini, Anda menyatakan kasus akun root dengan benar, IMO - ini tidak dapat digunakan sebagai akun pribadi (kecuali pada beberapa sistem tertanam dengan tapak sangat rendah).
rozcietrzewiacz