Menampilkan baris baru saat diminta

53

Saya ingin menambahkan baris baru di setiap prompt. Alih-alih kursor ditampilkan di baris sebagai name@machine:~$ _,

Saya ingin berada di baris berikutnya, seperti:

name@machine:~$
_

Terima kasih.

theTuxRacer
sumber

Jawaban:

69
  • Buka file ~/.bashrc(atau /etc/bash.bashrcjika itu harus berfungsi secara global untuk semua pengguna).

  • Temukan variabel yang dipanggil PS1.

  • Sederhananya \ndi akhir nilai PS1variabel.

htorque
sumber
18
Cara termudah untuk melakukan ini adalah menambahkan PS1 = "$ PS1 \ n" ke bagian bawah file ~ / .bashrc Anda.
Dennis VanMeter
3
Tebak itu lebih mudah dipertahankan - mengapa tidak membuatnya menjadi jawaban baru? :)
htorque
ya, saya melakukan itu. ada terlalu banyak baris untuk ditambahkan, jadi saya membuat variabel baru.
theTuxRacer
8

Saya lebih suka menggunakan .bashrcfile khusus

Pertama, tambahkan baris berikut ke ~/.bashrcfile Anda :

##
## INCLUDE CUSTOM `.bashrc` CODE
##
if [ -f ~/.bashrc_custom ]; then
    . ~/.bashrc_custom
fi

Buat file khusus:

touch ~/.bashrc_custom`

Terakhir buka dan masukkan baris berikut ke:

# File: $HOME/.bashrc_custom
# THIS FILE IS A USER-CUSTOM BASHRC FILE TO KEEP CLEAN THE DEFAULT ~/.barshrc FILE.
# PUT THERE ANY CUSTOM CODE MANUALLY ADDED BY YOU


# Add a new line at the end of the command prompt
#PS1=${PS1}\\n
PS1=${PS1%?}
PS1=${PS1%?}\n'$ '

Sesi shell yang dibuka berikutnya akan terlihat seperti berikut:

user@host:~
$ <your-next-command-will-be-rendered-here>
Rémi B.
sumber
4
Mengapa Anda merekomendasikan menggunakan file .bashrc khusus? Bukankah persisnya .bashrc di direktori home Anda ada? Saya mengerti bahwa Anda dapat menggunakan dan memodifikasi default .bashrc yang dihasilkan, tetapi daripada saat Anda ingin menggunakan .bashrc pada OS lain, Anda tidak dapat melakukannya karena Anda bergantung pada file .bashrc default dan jika tidak sama, ia dapat berperilaku berbeda.
Michal Bernhard