JP1/Advanced Shell
形式
unset [-f] name[ name ...]
機能
変数および関数の設定を解除します。nameに指定された変数の設定を解除します。nameは複数指定できます。-fオプションを指定し実行した場合,nameを関数名として扱い,関数の定義を解除します。
引数
- -f
- nameを関数名として扱い,関数の定義を解除します。
- name
- 対象となる変数名または関数名を指定します。nameに配列名も指定できます。
- nameに配列名を指定した場合,配列を構成する全要素の設定を解除します。1つの要素の設定だけを解除する場合は,「配列名[要素番号]」をnameに指定します。
- nameに指定した変数の属性が読み取り専用の場合,エラー終了します。未定義の変数名および関数名をnameに指定し実行すると,エラー終了します。
戻り値
戻り値 意味 0 正常終了 1 エラー終了。またはnameに指定した名称のどれかが変数,もしくは関数として定義されていません。
注意事項
- このコマンドでLINENO,OPTARG,OPTIND,RANDOM,SECONDSなどのシェル変数の設定を解除すると,再びこれらのシェル変数を定義しても,シェル変数が持つ特殊な意味は失われます。
- このコマンドで配列の要素の設定を個別に解除した場合,デバッガでは定義済みの変数として扱います。そのため,unsetコマンドで配列の要素の設定を解除したあとも,デバッガコマンドで表示・設定の対象にできます。
配列を構成する全要素の設定を解除した場合は,デバッガでは未定義の変数として扱うため,デバッガコマンドによる表示・設定の対象にできません。デバッガコマンドによる変数の値の表示・設定については,「6. ジョブ定義スクリプトのデバッグ」を参照してください。
- この特殊組み込みコマンドは,コマンドの構文を誤るとコマンドを実行しているシェルが終了します。
使用例
- unsetコマンドで変数を解除します。
unset val- unsetコマンドで関数を解除します。
unset -f func
All Rights Reserved. Copyright (C) 2011, 2012, Hitachi, Ltd.