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