】コマンド——変数や関数を削除する:Linux基本コマンドTips(307)本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、bashで定義した変数や関数を削除する「unset」コマンドです。本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、bashで定義した変数や関数を削除する「unset」コマンドです。変数を削除する変数を空にした場合との違い削除対象の関数または変数を指定する名前参照を削除するreadonly設定の場合の動作unsetコマンドとは?「unset」はbashで定義した変数や関数を削除するコマンドです。bashのビルトインコマンド(シェルの組み込みコマンドです)であるため、manコマンドではなく、helpコマンドで詳細を表示できます。]は省略可能な引数を示しています。変数名」で指定した変数を削除します(画面1)。環境変数(exportされた変数)も削除できます。変数を削除したところ目次に戻る変数を空にした場合との違いunsetコマンドを使わずに、「変数名=」のようにして変数の値を空にすることもできます。この場合、変数そのものは残っています。これら2つの動作の違いを分かりやすくするために、bashの「nounset」オプションを有効にして試してみましょう(画面2)。nounsetは、定義していない変数を参照した場合はエラーにする、というオプションです。-u」でnounsetを有効にできます。+u」で無効にできます(連載第208回)。関数名」で削除できます。同じ名前の関数と変数があった場合、変数を削除します(画面3)。どちらを削除するか明示したい場合、「-f」オプション(関数を削除)または「-v」オプション(変数を削除)を指定します(画面4)。reference)という機能を使用できます。名前参照を使うと、ファイルのシンボリックリンクと似た使い方が可能になります。名前」とします(連載第308回参照)。名前参照」を実行すると、参照先の変数を削除します(画面5)。名前参照そのものを削除したい場合は「-n」オプションを使用します。名前に対し「readonly」が設定されている場合、シェルを終了するまで変更や削除はできません(※2)。従ってunsetで削除することもできません(画面6)。変数名」で変数を変更できないようにできる。名前=値」でも定義可能。ソフトハウスに勤務し生産管理のパッケージソフトウェアの開発およびサポート業務を担当、その後ライターになる。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。Officeの教材作成およびeラーニング指導を担当。会社などの"PCヘルパー"やピンポイント研修なども行っている。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。