unset コマンドは、シェルに設定されている変数や関数を削除するためのコマンドです。
環境変数をクリアしたいときや、スクリプト内で一時的に定義した変数を無効化するときに利用されます。
構文(Syntax)
unset [オプション] 変数名
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | 指定した変数を削除 | unset VAR |
-v | 変数を削除(デフォルトと同じ挙動) | unset -v VAR |
-f | 関数を削除 | unset -f myfunc |
※ unset はシェル組み込みコマンドであり、bash, zsh などの環境によって細かい挙動が異なります。
実行例
環境変数を削除
export MYVAR="hello"
echo $MYVAR
# => hello
unset MYVAR
echo $MYVAR
# => (何も表示されない)
関数を削除
myfunc() { echo "test"; }
myfunc
# => test
unset -f myfunc
myfunc
# => bash: myfunc: command not found
エラー例(存在しない変数を削除)
unset NOTFOUND
出力例:
(エラーは出ず、何も表示されない)
関連コマンド
export: 環境変数を定義・有効化する。printenv: 環境変数を表示する。set: シェル変数や関数を一覧表示する。
備考
unsetはシェル組み込みのため、外部コマンドとしては存在しません。- 存在しない変数を
unsetしてもエラーにはならず、終了コードは 0 になります。 - 誤って重要な環境変数(例:
PATH)を削除するとシステム操作に支障が出るため注意が必要です。

コメント