setコマンド 【set command】
概要
setコマンド(set command)とは、WindowsやLinuxなどで標準的に用いられるコマンドの一つ。Windowsでは環境変数を設定し、Linux(のシェル)ではシェル変数やシェルオプションの設定を行う。Windowsのset
Windowsのコマンドプロンプトでは「set 名前=値」で、名前で指定した環境変数に値を代入する(変数が存在しなければ作成される)。「set 名前=」と値を空欄にすると変数を削除する。オプションや引数なしで「set」を実行すると現在の環境変数の名前と値の一覧を表示する。
「/a」オプションで値の指定に演算子などを使用でき、式として評価した結果を代入する。「/p」オプションで利用者にキー入力を促し、入力内容を値に設定する。setで作成・編集した環境変数の値は再起動すると失われるため、永続的に保存したい場合はsetxコマンドを用いる。
Linuxなどのset
LinuxなどのUNIX系OSでは、bashなどいくつかのシェルの内部コマンドとしてsetが用意されている。オプションなしで実行すると現在のシェル変数やシェル関数を一覧することができ、「set 名前=値」で、名前で指定したシェル変数に値を代入する。値は他の変数名、数値、文字列(""で括る)を指定できる。
オプションを指定するとシェルの様々な機能のオン・オフを切り替えることができる。例えば、「-o history」でコマンド履歴を有効に、「+o history」で無効にする。「-o allexport」でシェル変数や関数の変更を環境変数へ自動的にエクスポートするが、これは「-a」オプションでも指定できる。短いオプションが用意されている機能と「-o」オプションでのみ操作可能な機能がある。
(2023.11.28更新)