readonly
コマンド
お兄ちゃん!
変数の値ってどこでも
書き換えられる可能性があるよね?
これを書き換えられないようにできないかな?
もちろんできるよ!
今回は
「読み取り専用変数
(readonly variable)」
について学ぼう!
readonly
は
読み取り専用変数を
宣言するよ
readonly [オプション]... [変数名[=値]]...
へぇ…思っていたより簡単にできるんだね!
ねぇ!さっそく試してみようよ!
では
NAME
変数を読み取り専用で宣言してみよう以下のようにしてみてねreadonly NAME=みどり
うん!実行したよ!
読み取り専用変数は値を読むことはできるよその確認をしてみよう
echo "$NAME"
普通の変数と使い方は同じだね
みどり
普通の変数との違いは変更ができないことなんだ以下のように値を変更してみようか
NAME=しげる
やってみるね!
-bash: NAME: readonly variable
おおっ!「 と怒られたよ
NAME
は読み込み専用だぞ!」また変数の削除もできなくなるんだ
unset
は定義済みの変数を未定義に戻すよ以下を実行してみよう
unset NAME
こちらもやってみる!
-bash: unset: NAME: cannot unset: readonly variable
こちらも怒られたよ削除もできないんだね
不用意に読み込み専用変数を作ると後で消せずに困ることになるよ必要なものだけ読み込み専用変数にしてあげよう!
readonly
を引数なしで実行すると宣言された読み取り専用変数を一覧表示してくれるよreadonly
これで読み取り専用変数の確認ができるんだね!
今回は読み取り専用変数を学んだよ!
readonly
で実現できるんだ!シェル上よりもシェルスクリプト内で使われることが多い記述だよシェルスクリプト内で読み取り専用変数を宣言してもシェルスクリプトが終了すると一緒に無くなるんだシェルスクリプト内で書き換えて欲しくない値は読み取り専用変数にしてしまおう!