Cara Menyesuaikan (dan Mewarnai) Prompt Bash Anda

Daftar Isi:

Cara Menyesuaikan (dan Mewarnai) Prompt Bash Anda
Cara Menyesuaikan (dan Mewarnai) Prompt Bash Anda

Video: Cara Menyesuaikan (dan Mewarnai) Prompt Bash Anda

Video: Cara Menyesuaikan (dan Mewarnai) Prompt Bash Anda
Video: Lampu Cek Engine Menyala dan cara gampang Scan Manual tanpa Komputer - YouTube 2024, April
Anonim
Kebanyakan distribusi Linux mengkonfigurasi prompt Bash untuk terlihat seperti ini
Kebanyakan distribusi Linux mengkonfigurasi prompt Bash untuk terlihat seperti ini

username@hostname:directory$

. Tetapi Anda dapat mengkonfigurasi prompt Bash untuk memuat apa pun yang Anda suka, dan bahkan memilih warna apa pun yang Anda suka.

Langkah-langkah contoh di sini dilakukan pada 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, yang pada

~/.bashrc

. Jadi, jika nama pengguna Anda bob, file tersebut berada

/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 menggunakan vi, emacs, atau editor teks lain yang nyaman bagi Anda. Buka Terminal dan jalankan:

nano ~/.bashrc

Gulir ke bawah ke
Gulir ke bawah ke

PS1=

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 agak rumit karena
Ini masih agak rumit karena

${debian_chroot:+($debian_chroot)}

bit. Ini hanya memberi tahu Bash agar memberi tahu Anda jika Anda menggunakan lingkungan chroot Debian dan biasanya tidak akan ditampilkan. Mengabaikan itu, berikut struktur default dari variabel prompt Bash:

u@h:w$

u

menunjukkan nama pengguna Anda,

@

menunjukkan tanda @,

h

menunjukkan nama host (nama komputer),

:

menunjukkan: karakter,

w

menunjukkan direktori kerja, dan

$

menunjukkan $ jika Anda adalah akun pengguna normal atau # jika Anda melakukan root. Jadi, mengumpulkan semuanya, Anda dapatkan

username@hostname:working_directory$

Untuk mengubah prompt Bash Anda, Anda hanya perlu menambahkan, menghapus, atau mengatur ulang karakter khusus dalam variabel PS1. Tetapi masih banyak lagi variabel yang dapat Anda gunakan daripada yang standar.

Tinggalkan editor teks untuk saat ini - di nano, tekan Ctrl + X untuk keluar. Kami akan menunjukkan kepada Anda cara bereksperimen dengan variabel sebelum benar-benar menulis yang baru ke dalam file.bashrc Anda.

Cara Membuat Prompt Bash Kustom

Konfigurasi prompt Bash Anda disimpan dalam variabel PS1. Untuk menyimpan isi variabel PS1 ke dalam variabel baru, jalankan perintah berikut:

DEFAULT=$PS1

Anda sekarang dapat mengatur variabel PS1 ke nilai yang berbeda untuk bereksperimen. Sebagai contoh, baris pertama di sini akan mengatur prompt Anda ke prompt "user $" dasar, sementara yang kedua akan mengatur prompt Anda ke "user: working_directory $" prompt.

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 tadi. Perhatikan bahwa perubahan apa pun yang Anda lakukan di sini hanya sementara untuk sesi Bash saat ini, sehingga 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 ke variabel. Jadi, untuk awalan prompt default dengan "Hello World", Anda bisa menggunakan:
Anda dapat menambahkan karakter atau teks ke variabel. Jadi, untuk awalan prompt default dengan "Hello World", Anda bisa menggunakan:

PS1='Hello World u@h:w$ '

Sekarang setelah Anda mendapatkan dasar-dasarnya, Anda hanya perlu tahu apa semua karakter khusus tersebut. Anda mungkin tidak akan mempedulikan banyak dari ini, tetapi inilah daftar lengkapnya seperti yang muncul di manual Bash:
Sekarang setelah Anda mendapatkan dasar-dasarnya, Anda hanya perlu tahu apa semua karakter khusus tersebut. Anda mungkin tidak akan mempedulikan banyak dari ini, tetapi inilah daftar lengkapnya seperti yang muncul di manual Bash:
  • Karakter lonceng:

    a

  • Tanggal, dalam format "Tanggal Hari Minggu Bulan" (mis., "Selasa 26 Mei"):

    d

  • Format dilewatkan ke strftime (3) dan hasilnya dimasukkan ke string prompt; hasil format kosong dalam representasi waktu lokal tertentu. Kawat gigi diperlukan:

    D{format}

  • Karakter melarikan diri:

    e

  • Nama host, hingga ‘.’ Pertama:

    h

  • Nama inang:

    H

  • Jumlah pekerjaan yang saat ini dikelola oleh shell:

    j

  • Nama dasar dari nama perangkat terminal cangkang:

    l

  • Baris baru:
  • Pengembalian carriage:
  • Nama cangkang, nama dasar $ 0 (bagian yang mengikuti garis miring akhir):

    s

  • Waktu, dalam format 24 jam HH: MM: SS:

  • Waktu, dalam format 12 jam HH: MM: SS:

    T

  • Waktu, dalam format 12 jam am / pm:

    @

  • Waktu, dalam format 24 jam HH: MM:

    A

  • Nama pengguna dari pengguna saat ini:

    u

  • Versi Bash (mis., 2.00):

    v

  • Peluncuran Bash, versi + patchlevel (misalnya, 2.00.0):

    V

  • Direktori kerja saat ini, dengan $ HOME disingkat dengan tilde (menggunakan variabel $ PROMPT_DIRTRIM):

    w

  • Nama dasar $ PWD, dengan $ HOME disingkat dengan tilde:

    W

  • Nomor riwayat dari perintah ini:

    !

  • Nomor perintah dari perintah ini:

    #

  • Jika uid efektif adalah 0, #, atau $:

    $

  • Karakter yang kode ASCII-nya adalah nilai oktal nnn:

    nn

  • A backslash:

  • Mulai urutan karakter non-cetak. Ini dapat digunakan untuk menanamkan urutan kontrol terminal ke prompt:

    [

  • Akhiri urutan karakter yang tidak dicetak:

    ]

Jadi, jika Anda ingin menambahkan tanggal dan waktu ke prompt Bash Anda dan menempatkan direktori kerja pada perintah pada baris kedua, Anda bisa menggunakan konstruksi berikut:

PS1='[d ] u@h

w$ '

Tanda kurung siku di sini sama sekali tidak diperlukan, tetapi bantu hancurkan berbagai hal secara visual dan buat garis lebih mudah dibaca. Seperti yang telah kami bahas sebelumnya, Anda dapat menambahkan teks atau karakter normal apa pun ke variabel yang Anda sukai, jadi silakan gunakan apa pun yang sesuai untuk Anda.

Ada satu trik yang lebih kuat yang harus Anda ketahui: Anda dapat menambahkan output dari setiap perintah ke prompt. Setiap kali muncul prompt, Bash akan menjalankan perintah dan mengisi informasi saat ini. Untuk melakukan ini, sertakan saja perintah yang ingin Anda jalankan di antara dua perintah
Ada satu trik yang lebih kuat yang harus Anda ketahui: Anda dapat menambahkan output dari setiap perintah ke prompt. Setiap kali muncul prompt, Bash akan menjalankan perintah dan mengisi informasi saat ini. Untuk melakukan ini, sertakan saja perintah yang ingin Anda jalankan di antara dua perintah

`

karakter. Itu bukan tanda kutip - itu adalah aksen serius, yang muncul di atas tombol Tab pada keyboard Anda.

Misalnya, katakanlah Anda ingin melihat versi kernel Linux pada prompt. Anda bisa menggunakan garis seperti berikut:

PS1='u@h on `uname -s -r` w$ '

Sebagai contoh lain, misalkan Anda ingin melihat waktu kerja sistem dan rata-rata pemuatan, seperti yang ditampilkan oleh
Sebagai contoh lain, misalkan Anda ingin melihat waktu kerja sistem dan rata-rata pemuatan, seperti yang ditampilkan oleh

uptime

perintah. Anda bisa menggunakan konstruksi berikut, yang menempatkan uptime pada barisnya sendiri sebelum sisa prompt.

PS1='(`uptime`)

u@h:w$ '

Jangan ragu untuk bereksperimen dengan karakter dan perintah khusus yang berbeda untuk menyusun prompt perintah ideal Anda.
Jangan ragu untuk bereksperimen dengan karakter dan perintah khusus yang berbeda untuk menyusun prompt perintah ideal Anda.

Cara Menambahkan Warna ke Prompt Bash Anda

Setelah Anda menemukan prompt pilihan Anda, Anda dapat menambahkan warna ke sana. Ini sebenarnya sangat sederhana, tetapi itu membuat variabel terlihat sangat berantakan dan rumit jika Anda tidak mengerti apa yang Anda lihat.

Misalnya, variabel prompt warna default dari sebelumnya adalah:

${debian_chroot:+($debian_chroot)}[33[01;32m]u@h[33[00m]:[33[01;34m]w[33[00m]$

Atau, hapus bit debian_chroot sekali lagi:

[33[01;32m]u@h[33[00m]:[33[01;34m]w[33[00m]$

Ini sebenarnya hanya
Ini sebenarnya hanya

u@h:w$

variabel dari sebelumnya, tetapi dengan informasi warna. Sungguh, kita bisa memecahnya menjadi beberapa bagian:

[33[01;32m] u@h [33[00m] : [33[01;34m] w [33[00m] $

Bagian pertama adalah

u@h

bit, didahului oleh informasi warna yang mengubahnya menjadi hijau. Yang kedua adalah

:

karakter, didahului oleh informasi warna yang menghilangkan pewarnaan apa pun. Yang ketiga adalah

w

bit, didahului oleh informasi warna yang mengubahnya menjadi biru. Yang keempat adalah

$

bit, didahului oleh informasi warna yang menghilangkan pewarnaan apa pun.

Setelah Anda memahami cara membuat tag warna sendiri, Anda dapat menambahkan warna apa pun yang Anda suka ke bagian mana pun dari prompt Bash yang Anda sukai.
Setelah Anda memahami cara membuat tag warna sendiri, Anda dapat menambahkan warna apa pun yang Anda suka ke bagian mana pun dari prompt Bash yang Anda sukai.

Inilah yang perlu Anda ketahui: Anda harus menyertakan seluruh kode warna informasi di antara

[

dan

] character

s. Di dalam tag, Anda harus memulai dengan baik

33[

atau

e[

untuk menunjukkan kepada Bash bahwa ini adalah informasi warna. Kedua

33[

dan

e[

lakukan hal yang sama.

e[

lebih pendek sehingga mungkin lebih nyaman digunakan, tetapi kami akan menggunakannya

33[

di sini karena cocok dengan apa yang digunakan secara default. Di akhir tag, Anda harus mengakhirinya

m

untuk menunjukkan akhir dari label warna.

Memecahnya, inilah tampilan setiap tag warna. Satu-satunya perbedaan adalah informasi yang Anda tambahkan sebagai pengganti COLOR untuk menentukan warna sebenarnya:

[33[ COLORm]

Bash memungkinkan Anda mengubah warna teks latar depan, menambahkan atribut seperti "tebal" atau "garis bawah" ke teks, dan mengatur warna latar belakang.

Berikut adalah nilai untuk teks latar depan:

  • Hitam: 30
  • Biru: 34
  • Cyan: 36
  • Hijau: 32
  • Ungu: 35
  • Merah: 31
  • Putih: 37
  • Kuning: 33

Misalnya, karena teks ungu adalah kode warna 32, Anda akan menggunakannya

[33[ 32m]

untuk teks ungu.

Anda juga dapat menentukan atribut untuk teks. Atribut ini harus ditambahkan sebelum nomor warna, dipisahkan oleh titik koma (;). Teks dengan atribut ini akan terlihat berbeda di emulator terminal yang berbeda.
Anda juga dapat menentukan atribut untuk teks. Atribut ini harus ditambahkan sebelum nomor warna, dipisahkan oleh titik koma (;). Teks dengan atribut ini akan terlihat berbeda di emulator terminal yang berbeda.

Berikut adalah nilai untuk atribut teks:

  • Teks Normal: 0
  • Bold atau Light Text: 1 (Itu tergantung pada emulator terminal.)
  • Redup Teks: 2
  • Teks yang digarisbawahi: 4
  • Berkedip Teks: 5 (Ini tidak bekerja di sebagian besar emulator terminal.)
  • Teks Terbalik: 7 (Ini membalikkan warna latar depan dan latar belakang, sehingga Anda akan melihat teks hitam pada latar belakang putih jika teks saat ini berupa teks putih pada latar belakang hitam.)
  • Teks Tersembunyi: 8

Anda sebenarnya tidak perlu menyertakan atribut teks normal. Itu standarnya.

Misalnya, karena teks merah adalah kode 31 dan teks tebal adalah kode 1, Anda akan menggunakannya

[33[ 1;31m]

untuk teks merah tebal.

Anda juga dapat menentukan warna latar belakang, tetapi Anda tidak dapat menambahkan atribut ke warna latar belakang.
Anda juga dapat menentukan warna latar belakang, tetapi Anda tidak dapat menambahkan atribut ke warna latar belakang.

Berikut nilai-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,

[33[ 44m]

akan menentukan latar belakang biru.

Anda dapat menentukan tag warna latar depan dan latar belakang. Misalnya, 42 mewakili latar belakang hijau dan 31 mewakili teks merah. Jadi, untuk membuat perintah default menjadi teks merah pada latar belakang hijau, Anda akan menggunakan:
Anda dapat menentukan tag warna latar depan dan latar belakang. Misalnya, 42 mewakili latar belakang hijau dan 31 mewakili teks merah. Jadi, untuk membuat perintah default menjadi teks merah pada latar belakang hijau, Anda akan menggunakan:

PS1='[33[ 42m][33[ 31m]u@h:w$ '

Kami hanya menentukan satu warna latar belakang dan kemudian satu warna teks latar depan di sini, yang dimulai pada awal perintah dan diterapkan ke semua teks dalam prompt. Namun, Anda dapat menentukan tag warna sebanyak yang Anda inginkan dalam variabel untuk mewarnai bagian yang berbeda dari prompt Anda namun Anda suka.

Warna teks latar belakang dan latar depan terus melewati prompt kecuali Anda menetapkan kode warna 00 menghapus informasi warna. Anda juga dapat menggunakan tag ini dalam variabel untuk me-reset pemformatan kembali ke default di suatu tempat di prompt Anda. Misalnya, baris berikut akan mengakhiri semua pewarnaan sebelum
Warna teks latar belakang dan latar depan terus melewati prompt kecuali Anda menetapkan kode warna 00 menghapus informasi warna. Anda juga dapat menggunakan tag ini dalam variabel untuk me-reset pemformatan kembali ke default di suatu tempat di prompt Anda. Misalnya, baris berikut akan mengakhiri semua pewarnaan sebelum

$

karakter.

PS1='[33[ 42m][33[ 31m]u@h:w\[33[ 00m]$ '

Image
Image

Cara Mengatur Prompt Default Baru Anda

Setelah selesai bereksperimen dengan warna, Anda harus memiliki prompt Bash yang Anda sukai di sesi saat ini. Tetapi Anda mungkin ingin membuat pesan cepat baru itu permanen sehingga secara otomatis digunakan di semua sesi Bash Anda.

Untuk melakukan ini, Anda hanya perlu mengubah isi dari variabel PS1 dalam file.bashrc, yang kita lihat sebelumnya.

Buka file.bashrc di editor teks pilihan Anda, seperti:

nano ~/.bashrc

Gulir ke bawah dan temukan bagian PS1 =.Ganti saja variabel default dengan variabel yang Anda sesuaikan. Anda mungkin ingin meninggalkan

${debian_chroot:+($debian_chroot)}

sedikit saja, namun - mereka tidak akan muncul kecuali Anda berada di lingkungan chroot.

Masukkan variabel PS1 berwarna Anda di bawah

if [ '$color_prompt' = yes ]; then

baris. Masukkan variabel tanpa warna di bawah

else

baris.

Simpan file dan tutup editor teks Anda. Misalnya, untuk menyimpan file di nano, tekan Ctrl + O, tekan Enter, lalu tekan Ctrl + X untuk keluar.
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 berikutnya Anda memulai shell Bash baru - misalnya, dengan masuk di terminal atau dengan membuka jendela terminal baru - Anda akan melihat permintaan khusus Anda.

Direkomendasikan: