Dalam ksh:
Dalam profil saya., Saya mengatur var berikut (jadi var ini hanya ditetapkan sekali per sesi, tidak peduli berapa banyak su yang saya lakukan:
PCH=\>
Di .kshrc saya, saya punya:
if let "${SPID:-0} != $$"; then
PCHS="$PCHS$PCH"
fi
Saya menjadi root dengan alias berikut, daripada "su" (kroot adalah pengguna root dengan shell ksh bukannya sh (solaris) atau bash (linux):
alias root='PCH=\# su -m kroot'
alias me="PCH=\> su -m $USER"
Saya juga mendefinisikan dua fungsi ini:
function lprompt {
PS1=$HOST' $? $PWD '"$PCHS "
}
function sprompt {
PS1='$?":"${PWD##*/}'"$PCHS "
}
dan akhirnya di akhir .kshrc saya punya:
lprompt
Semua ini memberi saya secara otomatis pengaturan akhir dari prompt saya untuk menunjukkan apakah saya root (dan pada gilirannya jika saya memiliki orangtua yang root), direktori kerja saat ini, nama host, dan status keluar dari proses terakhir. sprompt menjatuhkan nama host, menyusutkan jalur ke hanya nama nama, dan menghapus spasi:
g3 0 /home/jj33 > expr 1 / 0
expr: division by zero
g3 2 /home/jj33 > expr 1 / 1
1
g3 0 /home/jj33 > root
Password:
g3 0 /home/jj33 ># me
g3 0 /home/jj33 >#> ^D
g3 0 /home/jj33 ># sprompt
0:jj33># me
g3 0 /home/jj33 >#> sprompt
0:jj33>#>expr 1 / 0
expr: division by zero
2:jj33>#>
Alias root / me adalah bourne dari administrasi pra-sudo pada Solaris dan kebiasaan lama telah mati keras. Saya ragu ada orang yang akan menerapkan hal yang sama hari ini. Fungsi yang berubah dengan cepat dan status yang ada terus menjadi sangat berharga bagi saya.