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 を呼び出すと、すべてのシェル変数の名前と値を、名前順にソートして以下の形式で表示します。
Variable="value"
引用符を付けると、組み込みコマンド eval を使用して出力をシェルに再入力することが できます。 形式 -option の引数は、オプションとして指定されたそれぞれの シェル・フラグを設定します。同様に、形式 +option の引数は、オプションとして指定されたそれぞれのシェル・フラグをオフにします。(通常考えるのとは反対に、- がオン、+ がオフ の意味になります。)
注: set±A-s、および –– を除くすべてのオプションはシェル・フラグです。シェル・フラグはまた 起動時に sh コマンド行で設定することもできます。

tcsh シェルの場合

以下の形式を表示するには、 フォーマットに関するセクションを参照してください。

  1. 最初の形式のコマンドは、すべてのシェル変数の値を出力します。複数の単一ワードを含んでいる変数は、括弧で囲まれたワード・リストと して出力されます。

    読み取り専用の変数は、-r オプションを使用した場合にのみ表示 されます。2、3 および 4 の形式の場合、-r を指定すると、値は読み取り専用に設定されます。

  2. 2 番目の形式は name をヌル・ストリングに設定 します。
  3. 3 番目の形式は name を単一 word (ワード) に 設定します。
  4. 4 番目の形式は namewordlist のワード・リス トに設定します。すべての場合で、値はコマンドおよびファイル名の展開が 行われます。 -f または -l を指定する場合は、固有のワードだけ を設定 (set) し、その順番を保持してください。-f は ワードの最初の出現を優先し、-l は最後のものを優先します。
  5. 5 番目の形式は、nameindex 番目のコンポーネント を 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 標準適応の動作と矛盾する場合があります。詳細は、lettrap のコマンドの解説を お読みください。
-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
cdpwd、および 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 標準の拡張です。bgniceignoreeofkeywordmarkdirsmonitornoglobnologprivileged、 および trackall は POSIX 標準の拡張で、シェル・フラグ ±A±h±k±p±s、および ±t と一緒です。

関連情報

aliasevalexportshshedit tcshtraptypeset