set - コマンド・オプションおよび定位置パラメーターを設定または設定解除する
形式
set [±abCefhiKkLmnPpstuvx-] [±o[flag]] [±Aname][parameter ...]
tcsh シェル:
set [-r] set [-r] name ....
set [-r] name=word ....
set [-r] [-f|-l] name=(wordlist) ....
set name[index]=word ...
set [-r] name=word ....
set [-r] [-f|-l] name=(wordlist) ....
set name[index]=word ...
説明
引数なしで set を呼び出すと、すべてのシェル変数の名前と値を、名前順にソートして以下の形式で表示します。
Variable="value"
引用符を付けると、組み込みコマンド eval を使用して出力をシェルに再入力することが
できます。 形式 -option の引数は、オプションとして指定されたそれぞれの
シェル・フラグを設定します。同様に、形式 +option の引数は、オプションとして指定されたそれぞれのシェル・フラグをオフにします。(通常考えるのとは反対に、
-
がオン、+
がオフ の意味になります。)
注: set の ±A、-s、–、および –– を除くすべてのオプションはシェル・フラグです。シェル・フラグはまた
起動時に sh コマンド行で設定することもできます。
tcsh シェルの場合
以下の形式を表示するには、 フォーマットに関するセクションを参照してください。
- 最初の形式のコマンドは、すべてのシェル変数の値を出力します。複数の単一ワードを含んでいる変数は、括弧で囲まれたワード・リストと
して出力されます。
読み取り専用の変数は、-r オプションを使用した場合にのみ表示 されます。2、3 および 4 の形式の場合、-r を指定すると、値は読み取り専用に設定されます。
- 2 番目の形式は name をヌル・ストリングに設定 します。
- 3 番目の形式は name を単一 word (ワード) に 設定します。
- 4 番目の形式は name を wordlist のワード・リス トに設定します。すべての場合で、値はコマンドおよびファイル名の展開が 行われます。 -f または -l を指定する場合は、固有のワードだけ を設定 (set) し、その順番を保持してください。-f は ワードの最初の出現を優先し、-l は最後のものを優先します。
- 5 番目の形式は、name の index 番目のコンポーネント を word に設定します。このコンポーネントはすでに存在していなければ なりません。
これらの引数を繰り返せば、単一の set コマンドの中に、
読み取り専用の複数の変数を設定または作成することができます。ただし、設定が行われる前にすべての引数で変数展開が行われます。また、= は name と word の両方に隣接させるか、または空白文字で
両方から離すことができますが、どちらかだけに
隣接させることはできません。以下に例を示します。
set -r name=word and set -r name = word
は許されますが、set -r name= word and set -r name =word
は許されません。詳しくは、tcsh: C シェルの起動を参照してください。
オプション
- -a
- すべての後続定義の変数をエクスポート用に設定します。
- -b
- バックグラウンド・ジョブの実行終了をユーザーに通知します。
- -c
- 出力リダイレクト演算子
>
に既存ファイルを上書きさせないように します。強制的に上書きさせるには、代替演算子>|
を使用します。 - -e
- 非対話式シェルに、ERR トラップを実行し、次に終了するよう指示します。このフラグは、プロファイル読み取りの際使用不可にされます。
- -f
- パス名生成を使用不可にします。
- -h
- すべてのコマンドにトラックされた別名を使用させます。トラックされる別名については、 sh の コマンド実行セクションを参照してください。
- -i
- シェルを対話式にします。
- -K
- シェル関数内の演算式およびトラップの動作で ((expression)) 構文の Korn シェル互換サポートを使用するようシェルに指示します。Korn シェルの動作は、UNIX 標準適応の動作と矛盾する場合があります。詳細は、let と trap のコマンドの解説を お読みください。
- -k
- パラメーターの割り当てをコマンド行のどこにでも可能とし、なおかつそれら をコマンドの環境内に入れておくようにします。
- -L
- シェルをログイン・シェルにします。このフラグの設定は、シェル起動時にのみ有効です。
- -m
- 各バックグラウンド・ジョブを別々のプロセス・グループで実行し、それぞ れが完了する度に報告します。
- -n
- 非対話式シェルに、コマンドを読み取り、実行はしないように指示します。
- -o flag
- シェル flag を設定します。flag を指定しない場合、このオプションは、現在設定されている
すべてのシェル・フラグをリストします。flag は、以下のいずれ
か 1 つです。
- allexport
- –a オプションと同じです。
- errexit
- –e オプションと同じです。
- bgnice
- バックグラウンド・ジョブを低い優先順位で実行します。
- emacs
- コマンド入力に emacs スタイルのインライン・エディターを 指定します。emacs 編集モードについては、shedit を参照。
- gmacs
- コマンド入力に gmacs スタイルのインライン・エディターを 指定します。 gmacs 編集モードについては、shedit を参照。
- ignoreeof
- ファイルの終わり文字が入力されても終了しないように シェルに指示します。
- interactive
- –i オプションと同じです。
- keyword
- –k オプションと同じです。
- korn
- –K オプションと同じです。
- logical
- cd、pwd、および PWD 変数が、シンボリック・リンクを持つ ディレクトリー内の論理パス名を使用することを指定します。このフラグが設定されていないと、これらの組み込みおよび PWD は、物理ディレクトリー・パス名を使用します。例えば、/usr/spool は、/var/spool へのシンボリック・リンクであり、現行ディレクトリーであるとします。logical が設定されていないと、PWD の値 は /var/spool であり、cd は現行ディレクトリー を /var に変更します。logical が 設定されていると、PWD の値 は /usr/spool で、cd は現行ディレクトリー を /usr に変更します。
- login
- sh の –L オプションと同じです。
- markdirs
- 末尾スラッシュ
(/)
をファイル名生成済みディレクト リーに追加します。 - monitor
- –m オプションと同じです。
- noclobber
- –C オプションと同じです。
- noexec
- –n オプションと同じです。
- noglob
- –f オプションと同じです。
- nolog
- ヒストリー・ファイルに関数定義を記録しません。
- notify
- –b オプションと同じです。
- nounset
- -u オプションと同じです。
- pipecurrent
- -P オプションと同じです。
- privileged
- –p オプションと同じです。
- trackall
- –h オプションと同じです。
- verbose
- -v オプションと同じです。
- xtrace
- -x オプションと同じです。
- vi
- vi- スタイルのインライン・エディターを指定します。vi 編集モード については、shedit を参照してください。
- warnstopped
- 停止されたジョブがあるときに、警告を出すが終了はしないようにシェルに 指示します。
- -p
- ログイン・シェルの $HOME/.profile の処理を無効にし、ENV 変数で指定されたスクリプトの処理を無効にします。/etc/suid_profile が存在する場合、sh はそれを ENV スクリプトの代わりに実行します。
- -P
- パイプラインの最後のコマンドを現行シェル環境で実行します。
- -s
- 定位置パラメーターをソートします。
- -t
- 1 つのコマンドを読み取り、実行後終了します。
- -u
- 設定解除されたパラメーターが置換で使用された場合、シェルにエラー・メッセージを出すように指示します。
- -v
- シェル入力行が読み取られるたびに出力します。
- -x
- コマンドおよび引数を実行のたびに出力します。
その他のオプションは以下のとおりです。
- –
- -v と -x オプションをオフにします。さらに、このオプションに続くパラメーターは、シェル・フラグを設定しませんが、定位置パラメーターには割り当てられます (sh を参照)。
- -
- このオプションに続くパラメーターは、シェル・フラグを設定しないが、定位置パラメーターには割り当てられることを指定します。
- +A name
- コマンド行に指定されたパラメーター・リストを、変数 name[
0
] から 始め、name の配列エレメントに割り当てます。 例えば、以下のコマンドは、値 "a"、"b"、"c"、および "d" を配列エレメント配列 [0-3
] に割り当てます。set +A array a b c d echo ${array[*]} a b c d
- –A name
- 変数 name を設定解除し、次に、コマンド行に指定されたパラメーター・リストを、name[
0
] から始め、変数 name の配列エレメントに割り当てます。 例えば、変数配列が 4 つのエレメントを含む場合、以下のコマンドは、前の値を破棄し、値 "x" および "y" を配列エレメント配列 [0-1
] に割り当てます。set -A array a y echo ${array[*]} x y
使用上の注意
set は、特殊組み込みシェル・コマンドです。
ローカライズ
set は、以下のローカライズ環境変数を使用します。
- LANG
- LC_ALL
- LC_MESSAGES
- NLSPATH
詳しくは、ローカライズを参照してください。
終了値
0
- 正常終了。
1
- コマンド行引数が正しくないための失敗。
2
- 使用法メッセージとなる失敗、通常、引数が欠落しているために起きます。
移植性
いくつかのシェル・フラグは POSIX 標準の拡張です。bgnice、ignoreeof、keyword、markdirs、monitor、noglob、nolog、privileged、 および trackall は POSIX 標準の拡張で、シェル・フラグ ±A、±h、±k、±p、±s、および ±t と一緒です。
関連情報
alias、eval、export、sh、shedit 、tcsh、trap、typeset