Dalam bash shell, command prompt adalah teks yang ditunjukkan apabila anda diminta untuk input. Pada kebanyakan sistem, ia kelihatan seperti ini:
Dalam masa yang singkat, anda boleh mendapatkan maklumat sebelum anda menjalankan sebarang arahan. Contohnya, petikan di atas menunjukkan anda yang berikut.
- siapa anda (pengguna bernama pengguna )
- di mana anda berada (komputer bernama myhost )
- apa direktori kerja anda ( ~, yang merupakan singkatan untuk direktori rumah anda)
Mungkin yang paling penting adalah tanda dolar (" $ "), yang merupakan watak istimewa yang menunjukkan anda log masuk sebagai pengguna bukan root. Sekiranya anda dilog masuk sebagai root, watak ini akan menjadi tanda paun (" # ") sebaliknya.
Rentetan yang mewakili petikan disimpan dalam pembolehubah persekitaran khas yang dinamakan PS1 . Untuk perbualan di atas, nilainya kelihatan seperti berikut.
"\ [email dilindungi] \ h: \ W \ $"
Terdapat empat aksara khas dalam rentetan ini: \ u, \ h, \ W, \ $ . Ini adalah melepaskan urutan aksara yang digantikan dengan nilai sebenar setiap kali prompt dipaparkan.
Watak Khas
Urutan aksara khas yang disenaraikan dalam jadual di bawah boleh digunakan dalam prompt shell bash.
Urutan watak | Menterjemahkan kepada |
---|---|
\ a | Watak "penggera". Mencetuskan bip atau kilat skrin |
\ d | Tarikh semasa, dipaparkan dalam format Tarikh Hari Bulan Hari (misalnya, Rabu 13 Mei ). |
\ D { format } | Tarikh dan masa semasa dipaparkan mengikut format yang ditafsirkan oleh strftime . Jika format diabaikan, \ D {} memaparkan masa semasa AM / PM 12 jam (mis., 07:23:01 PM ). |
\ e | Watak melarikan diri (ASCII 27) |
\ e [ nombor m | Menandakan permulaan urutan untuk memaparkan warna, di mana nombor adalah nombor, atau sepasang nombor, yang menentukan warna dan gaya yang hendak digunakan. Lihat di bawah untuk senarai warna dan pasangan nombor mereka. |
\ e [m | Menandakan hujung urutan untuk memaparkan warna. |
\ h | Nama tuan rumah mesin, sehingga yang pertama " . " Sebagai contoh, jika nama tuan rumah sistem adalah myhost.mydomain, \ h memaparkan myhost |
\ H | Nama penuh mesin itu. |
\ j | Bilangan pekerjaan dikendalikan oleh shell. |
\ l | Pengecam peranti terminal shell, biasanya nombor satu digit. |
\ n | Garis baru |
\ r | Pulangan kereta |
\ s | Nama shell (nama dasar proses yang memulakan sesi bash semasa). |
\ t | Masa semasa dipaparkan dalam format 24 jam HH: MM: SS (contoh, 19:23:01 ). |
\ T | Masa semasa dipaparkan dalam 12 jam HH: MM: format SS (mis. 07:23:01 ). |
\ @ | Masa semasa dipaparkan dalam 12 jam HH: MM: format SS AM / PM (mis., 07:23:01 PM ). |
\ A | Masa semasa dalam format HH: MM 24 jam, (contohnya 19:23 ). |
\ u | Nama pengguna pengguna semasa. |
\ v | Nombor versi Bash (contoh, 4.3 ). |
\ V | Versi Bash dan nombor patch (contohnya, 4.3.30 ). |
\ w | Direktori semasa. Direktori rumah pengguna disingkat sebagai tilde (" ~ "). Sebagai contoh, / usr / bin, ~, atau ~ / dokumen |
\ W | Nama lapangan direktori kerja semasa (contohnya, bin, ~, atau dokumen ). |
\! | Nombor sejarah arahan semasa. |
\ # | Nombor arahan arahan semasa (nombor arahan adalah seperti nombor sejarah, tetapi mereka menetapkan semula kepada sifar apabila anda memulakan sesi bash baru). |
\ nnn | Aksara ASCII yang nilai oklalnya nnn. |
\\ | Backslash |
\ [ | Menandakan permulaan mana-mana urutan aksara bukan percetakan, seperti kod kawalan terminal. |
\] | Menandakan penghujung urutan tidak cetak. |
\ $ | Mencetak # jika UID adalah sifar (superuser), atau $ jika lebih daripada sifar (orang lain). |
Mengubah gesaan sesi semasa
Anda boleh menetapkan pembolehubah persekitaran PS1 seperti yang anda lakukan pemboleh ubah lain dalam bash, dengan bentuk pernyataan NAME = VALUE . Oleh itu untuk menetapkan piawai standard, anda boleh menaip yang berikut di baris arahan.
PS1 = "\ [email dilindungi] \ h: \ W \ $"
... Dan gesaan anda akan segera berubah. Perhatikan ruang akhir selepas tanda dolar dalam rentetan untuk ruang tambahan selepas perbaruan anda, yang memudahkan untuk membezakan arahan yang anda taip dari prompt. Ruang tambahan tidak diperlukan, tetapi disyorkan.
Perhatikan bahawa dalam arahan itu, tidak ada ruang antara PS1, =, dan rentetan.
Mengubah hasrat untuk semua sesi masa depan
Sekiranya anda ingin menukar gesaan untuk setiap sesi baru, anda perlu mengedit fail permulaan bash anda. Setiap kali anda memulakan sesi terminal, fail berikut, jika ada, dibaca dan dilaksanakan sebagai skrip:
/ etc / profile ~ / .bash_profile ~ / .bash_login
~ / .profile
Fail pertama, / etc / profile, adalah skrip permulaan untuk mana-mana pengguna pada sistem yang memulakan sesi bash. Untuk menukar permintaan untuk setiap pengguna, anda perlu mengedit fail ini, dan anda memerlukan keistimewaan superuser untuk melakukannya.
sudo vi / etc / profile
Sebagai contoh, arahan di atas akan meminta anda untuk kata laluan anda, dan jika anda berada di senarai sudoers, buka fail permulaan bash sejagat sebagai superuser, menggunakan editor vi .
Tiga fail yang lain dicari dalam susunan yang disenaraikan di atas dan dilaksanakan selepas / etc / profile . Ketiga fail ini tinggal di direktori rumah anda, jadi ia hanya dilaksanakan untuk anda. Mereka boleh menentukan PS1 di lebih daripada satu tempat, jadi anda perlu membaca fail dengan teliti untuk melihat bagaimana ia dikonfigurasikan pada sistem anda. Sebagai contoh, banyak sistem akan menggunakan nilai PS1 yang berbeza bergantung kepada sama ada atau tidak terminal menyokong warna.
Mana-mana tiga fail itu mungkin wujud dan digunakan untuk sesi bash anda, tetapi jika terdapat lebih daripada satu, ia akan dilaksanakan dalam perintah yang disenaraikan.
Sekiranya anda tidak mahu memadam atau menukar garisan dalam fail permulaan anda, anda juga boleh menambah pernyataan PS1 = baru pada akhir salah satu fail anda untuk memohon petua khusus.
Menambah Warna Kepada Prompt Anda
Jika anda menggunakan terminal yang menyokong warna (dan anda mungkin), anda boleh menambah warna pada petikan anda. Warna ditambah dengan urutan aksara khas yang mengikuti format ini:
\ e [ nombor m | Bermula bahagian berwarna. Nilai nombor adalah nombor khas, atau sepasang nombor, yang menentukan warna. |
\ e [m | menandakan berakhirnya bahagian berwarna; semula ke warna lalai |
Sebagai contoh, rentetan segera:
PS1 = "\ e [1; 35mIni adalah ungu terang. \ E [0; 35m ... dan ini ungu gelap. \ E [m"
Akan menghasilkan prompt yang kelihatan seperti ini:
Berikut ialah senarai warna yang boleh anda gunakan, dan nombor yang menyatakannya:
Nombor (s) | Warna / Gaya | Nombor (s) | Warna / Gaya |
---|---|---|---|
0; 30 | Hitam | 1; 30 | Kelabu gelap |
0; 31 | Merah | 1; 31 | Merah terang |
0; 32 | Hijau | 1; 32 | Hijau terang |
0; 33 | Coklat | 1; 33 | Kuning |
0; 34 | Biru | 1; 34 | Biru terang |
0; 35 | Ungu | 1; 35 | Terang ungu |
0; 36 | Cyan | 1; 36 | Cyan terang |
0; 37 | Kelabu | 1; 37 | Putih |
4; 30 | Hitam, digariskan | 40 | latar belakang: Grey Gelap |
4; 31 | Merah, digariskan | 41 | latar belakang: Merah |
4; 32 | Hijau, digariskan | 42 | latar belakang: Hijau |
4; 33 | Brown, digariskan | 43 | latar belakang: Kuning |
4; 34 | Biru, digariskan | 44 | latar belakang: Biru |
4; 35 | Ungu, digariskan | 45 | latar belakang: Ungu |
4; 36 | Cyan, digariskan | 46 | latar belakang: Cyan |
4; 37 | Kelabu, digariskan | 47 | Latar Belakang: Kelabu |
Berikut adalah beberapa contoh, dan apa yang mereka kelihatan seperti:
E [0; 34mBlue \ e [0; 35mPurple \ e [0; 36mCyan \ e [0; 37mGray \ e [m "
PS1 = "Dilampirkan: \ e [4; 31mRed \ e [4; 32mGreen \ e [4; 33mBrown \ e [4; 34mBlue \ e [4; 35mPurple \ m "
PS1 = "\ e [44m \ e [1; 35mBright ungu pada latar belakang biru \ e [m"