JP1/Advanced Shell
形式
readonly [-p][name[=value]...]
機能
変数の属性を読み込み専用に変更する,または読み込み専用の変数を表示します。すべてのオプションを指定しないで実行した場合,読み込み専用のすべての変数名を標準出力に出力します。
読み込み専用に変更した変数の属性を再び書き込み可能に変更する場合は,typesetコマンドに+rオプションを指定してください。
引数
- -p
- 読み込み専用属性のすべての変数を「readonly 変数名=値」の書式で標準出力に出力します。ただし,-pオプションとnameを同時に指定した場合,nameの属性を読み込み専用に変更する方が優先されます。
- name
- 属性を読み込み専用に変更する変数の名称を指定します。
- nameに指定された変数の属性を読み込み専用に変更します。nameには変数名または配列名を複数指定できます。ただし,nameに関数名を指定しても関数の属性は読み込み専用に変更されないで,関数名と同じ名称の変数が読み込み専用になります。
- nameに配列名を指定した場合,配列を構成する全要素を読み込み専用に変更します。配列の1つの要素を指定した場合も配列の全要素を読み込み専用に変更します。
- nameに未作成の変数を指定した場合,変数の作成と読み込み専用への属性の変更を同時に実行します。この場合,valueを指定しないとnameには改行文字が代入され,読み込み専用に変更されます。
- nameに指定された変数の属性がすでに読み込み専用の場合,何もしないで正常終了します。
- value
- nameに指定された変数に代入する値を指定します。
- nameの後ろに=valueを指定すると,nameへの値の代入と読み込み専用への変更を同時に行います。valueを指定しなかった場合,nameに設定されている値のまま属性を読み込み専用に変更します。
戻り値
戻り値 意味 0 正常終了 1 エラー終了
注意事項
- 変数または配列を指定できますが,関数には影響を与えません。
- 定義されていない変数を読み込み専用属性にできます。
- この特殊組み込みコマンドは,コマンドの構文を誤るとコマンドを実行しているシェルが終了します。
使用例
- 変数testの属性を読み込み専用に変更します。
readonly test
All Rights Reserved. Copyright (C) 2011, 2012, Hitachi, Ltd.