Mengoperasikan bash shell standar pada server, prompt PS1 secara default untuk mengakhiri $ untuk pengguna non-root, dan # untuk root.
YAITU:
ubuntu@server:~$ sudo su
root@server:/home/ubuntu#
Kenapa ini?
Mengoperasikan bash shell standar pada server, prompt PS1 secara default untuk mengakhiri $ untuk pengguna non-root, dan # untuk root.
YAITU:
ubuntu@server:~$ sudo su
root@server:/home/ubuntu#
Kenapa ini?
Jawaban:
Secara historis shell Bourne / bin / sh asli akan digunakan $
sebagai prompt normal dan #
untuk prompt pengguna root (dan csh akan menggunakan %
). Ini membuatnya cukup mudah untuk mengetahui apakah Anda menjalankan sebagai pengguna super atau tidak.
#
juga karakter komentar, jadi siapa pun yang secara acak memasukkan kembali data tidak akan menjalankan perintah nyata.
Semakin banyak shell modern (mis. Ksh, bash) melanjutkan perbedaan ini $
dan #
meskipun itu kurang penting ketika Anda dapat menetapkan nilai yang lebih rumit seperti nama pengguna, nama host, direktori :-)
#
menjadi karakter komentar mencegah seseorang menjalankan perintah nyata jika mereka secara acak memasukkan kembali data?
# reboot
- jawab ... tidak ada, karena #
ini adalah komentar.
Tradisi.
Standar POSIX mengatakan (penekanan saya):
PS1
Variabel ini digunakan untuk prompt interaktif. Secara historis, "superuser" memiliki prompt '#'. Karena hak istimewa tidak diharuskan bersifat monolitik, sulit untuk menentukan hak istimewa mana yang harus menyebabkan prompt alternatif. Namun, pengguna yang cukup kuat harus diingatkan tentang kekuatan itu dengan memiliki prompt alternatif.
Lihat juga jawaban ini untuk pertanyaan yang hampir sama di forum SuperUser.