UID
シェルスクリプトを作ってて、変数名に UID を使ったら、
[xcorp@kornshell ~]$ ./hoge.sh hoge.sh: line 7: UID: readonly variable
って怒られた。あれれ?と思って、調べてみたらこれですよ。
[xcorp@kornshell ~]$ set | grep ^UID UID=1024 [xcorp@kornshell ~]$ man sh UID Expands to the user ID of the current user, initialized at shell startup. This variable is readonly.
ハァ?ってなもんですよ。どうやら bash の独自拡張らしい。そのスクリプトの中では GID って変数も使ってるから、ああこりゃ GID も使えないな、と思って別の変数名に置換して、念のため調べてみたらこれ。
[xcorp@kornshell ~]$ set | grep ^GID [xcorp@kornshell ~]$ man sh Pattern not found (press RETURN)
なんなの?どうしたいの?
こういう非対称性ってやたら気になりませんか?私だけ?