PR
 シェル・スクリプト・リファンレス
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

 読み込み専用の変数

 書き換えされたくない変数は,読み込み専用の変数として定義できる。たとえば,「PPID」など,いくつかの変数は読み込み専用となっている。この変数を書き換えようとすると,


$ PPID=10000 
-bash: PPID: readonly variable

とエラーが表示されて書き換えは行われない。

 「readonly 変数名」とすると,指定した変数が読み込み専用になる。


$ My_Name=Kazuhiro 
$ echo $My_Name 
Kazuhiro                ← 変数への書き換えができる
$ readonly My_Name    ← 変数を読み込み専用にする
$ My_Name=Fukuda 
-bash: My_Name: readonly variable  ← 書き換えができなくなった

 また,readonlyに引数を与えなかった場合は,読み込み専用の変数が一覧表示される。


$ readonly 
declare -ar BASH_VERSINFO='([0]="3" [1]="00" [2]="14" [3]="1" [4]="release" [5]="i386-redhat-linux-gnu")'
declare -ir EUID="500"
declare -r My_Name="Kazuhiro"
declare -ir PPID="15158"
declare -r SHELLOPTS="braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor"
declare -ir UID="500"