$ 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
あなたは、見ることができるように$PS1
、$PS2
そして$PS4
意図のような値と仕事を持っています。$PS3
空です(またはスペース、タブなどが含まれます)がfor select
を使用#?
し$PS3
ていますが、変数が設定されている場合は正常に動作します。
なぜこれはこのように動作し、なぜこのように設計されたのですか?
If this variable is not set
一部です。ユーザーはそれを空白文字またはスペース、あるいはnullに設定してみることができます