$ 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
, $PS2
dan $PS4
memiliki nilai dan bekerja seperti yang dimaksudkan. $PS3
kosong (atau berisi spasi, tab, dll.), tetapi select
sedang 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 set
bagian. Pengguna dapat mencoba mengaturnya ke karakter atau spasi kosong, atau bahkan mungkin nol