$ echo $PS1
$
$ echo $PS2
>
$ echo $PS3
$ echo $PS4
+
$ select i in 1 2 3
> do
> case $i in
> 1)
> echo 1
> ;;
> *)
> ;;
> esac
> done
1) 1
2) 2
3) 3
#? 1
1
$ PS3="##? "
$ select i in 1 2 3; do case $i in 1) echo 1; ;; *) ;; esac; done
1) 1
2) 2
3) 3
##? 1
1
Seperti yang Anda lihat, $PS1, $PS2dan $PS4memiliki nilai dan bekerja seperti yang dimaksudkan. $PS3kosong (atau berisi spasi, tab, dll.), tetapi selectsedang digunakan #?untuk $PS3, tetapi ketika variabel diatur, ia bekerja secara normal.
Mengapa ini berperilaku seperti ini dan mengapa itu dirancang seperti ini?
If this variable is not setbagian. Pengguna dapat mencoba mengaturnya ke karakter atau spasi kosong, atau bahkan mungkin nol