Kebanyakan distribusi Linux mengkonfigurasi prompt Bash agar terlihat seperti ini
username @ hostname: direktori $
. Tetapi Anda dapat mengonfigurasi prompt Bash untuk memuat apa pun yang Anda suka, dan bahkan memilih warna apa pun yang Anda suka.
Langkah-langkah contoh di sini dilakukan di Ubuntu 16.04 LTS. Prosesnya harus sama pada distribusi Linux lainnya, meskipun prompt dan pengaturan Bash default dalam file .bashrc mungkin sedikit berbeda.
Dimana Variabel Prompt Disimpan
Konfigurasi prompt Bash Anda disimpan di file .bashrc akun pengguna Anda, yaitu di
~ / .bashrc
. Jadi, jika nama pengguna Anda bob, maka file tersebut adalah
/home/bob/.bashrc
.
Anda dapat membuka file untuk melihat variabel Bash saat ini. Kami akan menggunakan nano sebagai editor teks contoh kami, meskipun Anda juga dapat menggunakannya kita , emacs, atau editor teks lainnya yang Anda sukai. Buka Terminal dan jalankan:
nano ~/.bashrc
Gulir ke bawah ke
Ψ1 =
bagian. Variabel pertama terlihat agak rumit karena menyertakan informasi warna — kami akan menjelaskannya nanti. Variabel kedua, tanpa informasi warna, berbunyi sebagai berikut:
$ {debian_chroot:+($debian_chroot)} \ u @ \ h: \ w \ $
Ini masih sedikit rumit karena
${debian_chroot:+($debian_chroot)}
bit. Ini hanya memberi tahu Bash untuk memberi tahu Anda jika Anda menggunakan lingkungan chroot Debian dan biasanya tidak akan ditampilkan. Mengabaikan itu, berikut adalah struktur default dari variabel prompt Bash:
\ u @ \ h: \ w \ $
\ u
menunjukkan nama pengguna Anda,
@
menunjukkan tanda @,
\ h
menunjukkan nama host (nama komputer),
:
menunjukkan: karakter,
\di
menunjukkan direktori kerja, dan
\$
menunjukkan $ jika Anda adalah akun pengguna biasa atau # jika Anda root. Jadi, menyatukan semuanya, Anda dapatkan
username @ hostname: working_directory $
.
Untuk mengubah prompt Bash Anda, Anda hanya perlu menambah, menghapus, atau mengatur ulang karakter khusus dalam variabel PS1. Tetapi ada lebih banyak variabel yang dapat Anda gunakan daripada variabel default.
Keluar dari editor teks untuk saat ini — di nano, tekan Ctrl + X untuk keluar. Kami akan menunjukkan cara bereksperimen dengan variabel sebelum benar-benar menulis variabel baru ke dalam file .bashrc Anda.
Cara Membuat Prompt Bash Kustom
Konfigurasi prompt Bash Anda disimpan di variabel PS1. Untuk menyimpan konten variabel PS1 menjadi variabel baru, jalankan perintah berikut:
DEFAULT = $ PS1
Anda sekarang dapat menetapkan variabel PS1 ke nilai yang berbeda untuk bereksperimen. Misalnya, baris pertama di sini akan menyetel prompt Anda ke prompt "user $" dasar, sedangkan baris kedua akan menyetel prompt Anda ke prompt "user: working_directory $" dasar.
PS1 = "\ u \ $" PS1 = "\ u: \ w \ $"
Jika Anda ingin kembali ke prompt default Anda, jalankan saja perintah berikut.
PS1 = $ DEFAULT
Bash akan dikembalikan ke prompt defaultnya berkat fakta bahwa Anda menyimpan pengaturan default tersebut sebelumnya. Perhatikan bahwa setiap perubahan yang Anda buat di sini hanya sementara untuk sesi Bash saat ini, jadi Anda selalu dapat keluar dan masuk kembali atau menutup dan membuka kembali jendela terminal untuk kembali ke prompt default Anda. Tetapi baris di atas memungkinkan untuk dengan mudah kembali ke prompt Bash default Anda tanpa perlu keluar atau menutup jendela.
Anda dapat menambahkan karakter atau teks apa pun ke variabel. Jadi, untuk mengawali prompt default dengan "Hello World", Anda dapat menggunakan:
PS1 = "Halo Dunia \ u @ \ h: \ w \ $"
Sekarang setelah Anda menguasai dasar-dasarnya, Anda hanya perlu mengetahui apa semua karakter khususnya. Anda mungkin tidak akan peduli tentang banyak dari ini, tetapi berikut adalah daftar lengkap yang muncul di manual Bash :
-
Karakter lonceng:
\Sebuah -
Tanggal, dalam format "Weekday Month Date" (mis., "Sel 26 Mei"):
\ d -
Format tersebut diteruskan ke strftime (3) dan hasilnya dimasukkan ke dalam string prompt; hasil format kosong dalam representasi waktu spesifik-lokal. Kawat gigi diperlukan:
\ D{format} -
Karakter pelarian:
\adalah -
Nama host, hingga '.' Pertama:
\ h -
Nama host:
\ H -
Jumlah pekerjaan yang saat ini dikelola oleh shell:
\ j -
Nama dasar dari nama perangkat terminal shell:
\ l -
Sebuah baris baru:
\ n -
Pengembalian kereta:
\ r -
Nama shell, nama dasar $ 0 (bagian setelah garis miring terakhir):
\ s -
Waktu, dalam format 24 jam HH: MM: SS:
\ t -
Waktu, dalam format 12 jam JJ: MM: SS:
\ T -
Waktu, dalam format 12-hour am / pm:
\@ -
Waktu, dalam format 24 jam JJ: MM:
\SEBUAH -
Nama pengguna dari pengguna saat ini:
\ u -
Versi Bash (mis., 2.00):
ev -
Rilis Bash, versi + tambalan (misalnya, 2.00.0):
EV -
Direktori kerja saat ini, dengan $ HOME disingkat dengan tilde (menggunakan variabel $ PROMPT_DIRTRIM):
\di -
Nama dasar $ PWD, dengan $ HOME disingkat dengan tilde:
\DI -
Nomor sejarah perintah ini:
\! -
Nomor perintah dari perintah ini:
\# -
Jika uid efektif adalah 0, #, jika tidak $:
\$ -
Karakter yang kode ASCII-nya adalah nilai oktal nnn:
\ nnn -
Garis miring terbalik:
\\ -
Mulailah urutan karakter non-cetak. Ini dapat digunakan untuk menanamkan urutan kontrol terminal ke dalam prompt:
\[ -
Akhiri urutan karakter non-cetak:
\]
Jadi, jika Anda ingin menambahkan tanggal dan waktu ke prompt Bash Anda dan meletakkan direktori kerja pada perintah pada baris kedua, Anda dapat menggunakan konstruksi berikut:
PS1 = "[\d \t] \ u @ \ h \ n \ w \ $"
Tanda kurung siku di sini tidak diperlukan sama sekali, tetapi membantu memecah semuanya secara visual dan membuat garis lebih mudah dibaca. Seperti yang kita bahas sebelumnya, Anda dapat menambahkan teks atau karakter normal ke variabel yang Anda suka, jadi silakan gunakan apa pun yang sesuai untuk Anda.
Ada satu lagi trik ampuh yang harus Anda ketahui: Anda dapat menambahkan keluaran dari perintah apa pun ke prompt. Setiap kali prompt muncul, Bash akan menjalankan perintah dan mengisi informasi saat ini. Untuk melakukan ini, cukup masukkan perintah apa pun yang ingin Anda jalankan di antara keduanya
`
karakter. Itu bukan apostrof — itu adalah aksen serius, yang muncul di atas tombol Tab di keyboard Anda.
Misalnya, Anda ingin melihat versi kernel Linux di prompt. Anda bisa menggunakan baris seperti berikut:
PS1 = "\ u @ \ h pada ʻuname -s -r` \ w \ $"
Sebagai contoh lain, katakanlah Anda ingin melihat waktu operasional sistem dan rata-rata muat, seperti yang ditampilkan oleh
uptime
perintah. Anda bisa menggunakan konstruksi berikut, yang menempatkan uptime di barisnya sendiri sebelum sisa prompt.
PS1 = "(ʻuptime`) \ n \ u @ \ h: \ w $"
Jangan ragu untuk bereksperimen dengan karakter dan perintah khusus yang berbeda untuk menyusun command prompt ideal Anda.
Cara Menambahkan Warna ke Prompt Bash Anda
Setelah Anda mengetahui perintah yang Anda sukai, Anda dapat menambahkan warna padanya. Ini sebenarnya sangat sederhana, tetapi membuat variabel terlihat sangat berantakan dan rumit jika Anda tidak memahami apa yang Anda lihat.
Misalnya, variabel prompt warna default dari sebelumnya adalah:
$ {debian_chroot:+($debian_chroot)} \ [\033[01;32m\] \ u @ \ h \ [\033[00m\]: \ [\033[01;34m\] \ w \ [\033[00m\] \ $
Atau, hapus bit debian_chroot sekali lagi:
\ [\033[01;32m\] \ u @ \ h \ [\033[00m\]: \ [\033[01;34m\] \ w \ [\033[00m\] \ $
Ini sebenarnya hanya file
\ u @ \ h: \ w $
variabel dari sebelumnya, tetapi dengan informasi warna. Sungguh, kita bisa memecahnya menjadi beberapa bagian:
\[\033[01;32m\]\ u @ \ h\[\033[00m\]:\[\033[01;34m\]\di\[\033[00m\]\$
Bagian pertama adalah
\ u @ \ h
bit, diawali dengan informasi warna yang mengubahnya menjadi hijau. Yang kedua adalah
:
karakter, diawali dengan informasi warna yang menghilangkan pewarnaan apa pun. Yang ketiga adalah
\di
bit, diawali dengan informasi warna yang mengubahnya menjadi biru. Yang keempat adalah
\$
bit, diawali dengan informasi warna yang menghilangkan pewarnaan apa pun.
Setelah Anda memahami cara membuat tag warna Anda sendiri, Anda dapat menambahkan warna apa pun yang Anda suka ke bagian mana pun dari prompt Bash yang Anda suka.
Inilah yang perlu Anda ketahui: Anda harus menyertakan seluruh informasi kode warna di antara
\[
dan
\] karakter
s. Di dalam tag, Anda harus mulai dengan salah satunya
\033[
atau
\adalah[
untuk menunjukkan kepada Bash bahwa ini adalah informasi warna. Kedua
\033[
dan
\adalah[
lakukan hal yang sama.
\adalah[
lebih pendek jadi mungkin lebih nyaman digunakan, tapi kami akan gunakan
\033[
di sini karena cocok dengan yang digunakan secara default. Di akhir tag, Anda harus diakhiri dengan
m \
untuk menunjukkan akhir dari sebuah tag warna.
Jika dipecah, seperti inilah tampilan setiap tag warna. Satu-satunya perbedaan adalah informasi yang Anda tambahkan sebagai pengganti WARNA untuk menentukan warna sebenarnya:
\[\033[WARNAm \]
Bash memungkinkan Anda untuk mengubah warna teks latar depan, menambahkan atribut seperti "tebal" atau "garis bawah" ke teks, dan menyetel warna latar belakang.
Berikut adalah nilai untuk teks latar depan:
- Hitam: 30
- Biru: 34
- Sian: 36
- Hijau: 32
- Ungu: 35
- Merah: 31
- Putih: 37
- Kuning: 33
Misalnya, karena teks ungu adalah kode warna 32, Anda akan menggunakan
\[\033[
32
m \]
untuk teks ungu.
Anda juga dapat menentukan atribut untuk teks tersebut. Atribut ini harus ditambahkan sebelum nomor warna, dipisahkan dengan titik koma (;). Teks dengan atribut ini akan terlihat berbeda di emulator terminal yang berbeda.
Berikut adalah nilai untuk atribut teks:
- Teks Normal: 0
- Teks Tebal atau Ringan: 1 (Tergantung pada emulator terminal.)
- Teks Redup: 2
- Teks yang Digarisbawahi: 4
- Teks Berkedip: 5 (Ini tidak bekerja pada kebanyakan emulator terminal.)
- Teks Terbalik: 7 (Ini membalik warna latar depan dan latar belakang, jadi Anda akan melihat teks hitam dengan latar belakang putih jika teks saat ini adalah teks putih dengan latar belakang hitam.)
- Teks Tersembunyi: 8
Anda sebenarnya tidak perlu menyertakan atribut teks normal. Itu defaultnya.
Misalnya, karena teks merah adalah kode 31 dan teks tebal adalah kode 1, Anda akan menggunakan
\[\033[
1;31
m \]
untuk teks merah tebal.
Anda juga dapat menentukan warna latar belakang, tetapi Anda tidak dapat menambahkan atribut ke warna latar belakang.
Berikut nilai untuk warna latar belakang:
- Latar belakang hitam: 40
- Latar belakang biru: 44
- Latar belakang cyan: 46
- Latar belakang hijau: 42
- Latar belakang ungu: 45
- Latar belakang merah: 41
- Latar belakang putih: 47
- Latar belakang kuning: 43
Misalnya, karena latar belakang biru adalah kode 44,
\[\033[
44
m\]
would specify a blue background.
You can specify both foreground and background color tags. For example, 42 represents a green background and 31 represents red text. So, to make the default prompt become red text on a green background, you’d use:
PS1="\[\033[42m \] \ [\ 033 [31m \] \ u @ \ h: \ w \ $ "
Kami hanya menentukan satu warna latar belakang dan kemudian satu warna teks latar depan di sini, yang dimulai pada awal prompt dan diterapkan ke semua teks pada prompt. Namun, Anda dapat menentukan tag warna sebanyak yang Anda inginkan dalam variabel untuk mewarnai bagian berbeda dari permintaan Anda sesuka Anda.
Warna teks latar belakang dan latar depan tetap melewati prompt kecuali Anda menentukan kode warna 00 menghapus informasi warna. Anda juga dapat menggunakan tag ini dalam variabel untuk menyetel ulang pemformatan kembali ke default di suatu tempat dalam prompt Anda. Misalnya, baris berikut akan mengakhiri semua pewarnaan sebelum
\$
karakter.
Ψ1 = "\ [\ 033 [42m \] \ [\ 033 [31m \] \ u @ \ h: \ w \\ [\ 033 [00m \] \ $ "
Cara Mengatur Perintah Default Baru Anda
Setelah Anda selesai bereksperimen dengan warna, Anda akan mendapatkan perintah Bash yang Anda suka di sesi saat ini. Tapi Anda mungkin ingin membuat perintah baru itu permanen sehingga otomatis digunakan di semua sesi Bash Anda.
Untuk melakukan ini, Anda hanya perlu mengubah konten variabel PS1 di file .bashrc, yang telah kita lihat sebelumnya.
Buka file .bashrc di editor teks pilihan Anda, seperti:
nano ~/.bashrc
Gulir ke bawah dan temukan bagian PS1 =. Cukup ganti variabel default dengan variabel kustom Anda. Anda mungkin ingin meninggalkan
${debian_chroot:+($debian_chroot)}
bit saja, bagaimanapun — mereka tidak akan muncul kecuali Anda berada di lingkungan chroot.
Masukkan variabel PS1 berwarna Anda di bawah
jika [ "$color_prompt" = yes ]; kemudian
garis. Masukkan variabel tanpa warna di bawah
lain
garis.
Simpan file dan tutup editor teks Anda. Misalnya, untuk menyimpan file di nano, tekan Ctrl + O, tekan Enter, lalu tekan Ctrl + X untuk keluar.
Saat Anda memulai Bash shell baru — misalnya, dengan masuk di terminal atau dengan membuka jendela terminal baru — Anda akan melihat perintah yang disesuaikan.