qsh は、開始されると、定義済みの環境変数に基づいてシェル変数を初期設定します。
変数は、データを格納するために使用されます。
.
次の方法のいずれかを使って、既存の変数の値を変更すること、または新しい変数を作成することができます。
- name=value を使って変数を割り当てる。
- read または getopts ユーティリティーを呼び出す。
- for ループまたは select 条件構成の中で、name パラメーターを使用する。
- ${name=value} のパラメーター展開を使用する。
- declare または typeset ユーティリティーを
呼び出す。
変数名には、英字、数字、下線 (_) を使用できます。 変数名の最初の 1 文字には数字は使用できません。
qsh が設定する変数
- _ (一時変数)
- この変数は、qsh によって直前の単純コマンドの最後の引数に設定されます。
- EGID (実効 1 次グループ ID)
- この変数は、qsh の開始時に、qsh によって実効 1 次グループ ID に設定されます。
この変数は読み取り専用です。
- EUID (実効ユーザー ID)
- この変数は、qsh の開始時に、qsh によって実効 ユーザー ID に設定されます。
この変数は読み取り専用です。
- GID (1 次グループ ID)
- この変数は、qsh の開始時に、qsh によって 1 次グループ ID に設定されます。
この変数は読み取り専用です。
- HOSTID (ホスト IP の ID)
- この変数は、qsh によってホスト・システムの IP アドレスに設定されます。
- HOSTNAME (ホストの名前)
- この変数は、qsh によってホスト・システム名に設定されます。
- HOSTTYPE (ホスト・タイプ)
- この変数は、qsh によってホスト・システムのタイプを表すストリングに設定されます。
この変数の値は、"powerpc" に設定されます。
- JOBNAME (修飾ジョブ名)
- この変数は、qsh によって現行ジョブの修飾ジョブ名に設定されます。 修飾ジョブ名は、 CL コマンドによってジョブを識別するために使用されます。
- LAST_JOBNAME (最後のジョブの修飾ジョブ名)
- この変数は、qsh によって最後のジョブの修飾ジョブ名に設定されます。
修飾ジョブ名は、 CL コマンドによってジョブを識別するために使用されます。
- LINENO (行番号)
- この変数は、各コマンドの実行前に、qsh によってスクリプトまたは関数内の現在行の番号 (10 進数) に設定されます。
- MACHTYPE (マシン・タイプ)
- この変数は、qsh によって、マシン・タイプを表すストリングに設定されます。
この変数の値は "powerpc-ibm-os400" に設定されます。
- OLDPWD (直前の作業ディレクトリー)
- この変数は、現行作業ディレクトリーが変更されたあとで、 cd によって前の作業ディレクトリーに設定されます。
- OPTARG (オプション引数)
- この変数は、引数を必要とするオプションが見つかったときに、getopts によって設定されます。
- OPTIND (オプション索引)
- この変数は、getopts によって、次のオプション用として調べる必要がある引数の索引に設定されます。 qsh、スクリプト、または関数が呼び出された時点で、この変数は 1 に設定されます。
- OSTYPE (オペレーティング・システムのタイプ)
- この変数は、qsh によって、オペレーティング・システムのタイプを表すストリングに設定されます。
この変数の値は、"os400" に設定されます。
- PPID (親プロセス ID)
- この変数は、qsh によって、現行シェルを呼び出したプロセスの 10 進プロセス ID に設定されます。
1 つのサブシェルの中では、そのサブシェルが別のプロセス内で実行されている場合でも、この変数の値は変更されません。
- PWD (作業ディレクトリー)
- この変数は、変更後、cd によって現行作業ディレクトリーに設定されます。
- QSH_VERSION (現行バージョン)
- この変数は、qsh によって、現行バージョンを表すストリングに設定されます。
このストリングの形式は VxRyMz です。x はバージョン番号、y はリリース番号、z はモディフィケーション・レベル番号です。
この変数は読み取り専用です。
- RANDOM (乱数発生ルーチン)
- この変数は、
参照されるたびに qsh によって 1 - 32767 の範囲内の整数の乱数に設定されます。
この変数を設定すれば、乱数発生ルーチンにシードを与えることができます。
- REPLY (応答変数)
- この変数は、
引数を指定しなかった場合に読み取られる文字に設定されます (read による設定)。
また select 複合コマンドを使用すると、標準入力から読み取られる入力行の内容に設定されます。
- TERMINAL_TYPE (端末のタイプ)
- この変数は、qsh によって、標準ファイル記述子に接続される端末のタイプに設定されます。 この変数の値は、5250 ディスプレイに接続されるときは "5250"、リモート・クライアントに接続されるときは "REMOTE"、そしてパイプに接続されるときは "PIPELINE" に設定されます。
- UID (ユーザー ID)
- この変数は、qsh の開始時に、qsh によってユーザー ID に設定されます。
この変数は読み取り専用です。
qsh が使用する変数
- CDPATH (cd のための検索パス)
- cd 用として指定したディレクトリーがスラッシュ (/) で始まっていない場合は、qsh は、 CDPATH 内に表示されているディレクトリーを順番に検索して、指定されたディレクトリーを見つけます。 この変数の値は、コロンで区切ったディレクトリーのリストです。 現行作業ディレクトリーは、 最初のコロンの前、2 つのコロンの間、または最後のコロンのあとのピリオド (.) またはヌル・ディレクトリーで指定されます。 デフォルト値はありません。
- ENV (環境ファイル)
- qsh は、呼び出された時点で、この変数に対してパラメーター展開、コマンド置換、
および算術展開を行って、現行の環境内で実行するシェル・スクリプトのパス名を生成します。
この変数は、一般に、別名を設定するため、関数を定義するため、またはオプションを設定するために使用されます。 デフォルト値はありません。
- HOME (ホーム・ディレクトリー)
- この変数の値は、ホーム・ディレクトリーのパス名です。
この値は、ティルド展開に使用され、また cd 用のデフォルトの引数として使用されます。
デフォルトでは、この値はユーザー・プロファイル内に指定されている値に設定されています。
- IFS (内部フィールド区切り記号)
- この値は、フィールドの分割のため、および read で行をフィールドに分割するために使用される文字のリストとして扱われるストリングです。 値の最初の文字は、特殊パラメーター * を展開するときに、引数を区切るために使用されます。 デフォルト値は "<space><tab><newline>" です。
- LANG (言語ロケール)
- この変数は、LC_ で始まる変数を使って明示的に設定されていないカテゴリー用に使用されるロケール・カテゴリーを定義します。
デフォルト値はありません。
- LC_ALL (ロケール設定)
- この変数は、LC_ で始まる変数の値を一時変更します。 デフォルト値はありません。
- LC_COLLATE (ロケール照合)
- この変数は、文字間の照合関係を定義します。 デフォルト値はありません。
- LC_CTYPE (ロケール文字クラス)
- この変数は、文字のタイプ (大文字、小文字、スペース、数字、句読記号など) を定義します。 デフォルト値はありません。
- LC_MESSAGES (ロケール・メッセージ形式設定)
- この変数は、アプリケーションからの肯定応答および否定応答の形式と値を定義します。 デフォルト値はありません。
- LC_MONETARY (ロケール通貨形式設定)
- この変数は、通貨名、記号、およびその他の詳細事項を定義します。 デフォルト値はありません。
- LC_NUMERIC (ロケール数値形式設定)
- 定様式入出力関数およびストリング変換関数で使用する小数点文字を定義します。 デフォルト値はありません。
- LC_TIME (ロケール時刻形式設定)
- この変数は、使用するカレンダー、時間帯、曜日など、日付と時刻の規則を定義します。 デフォルト値はありません。
- LC_TOD (ロケール時間帯)
- この変数は、時間帯の名前、時間帯の時差、および、サマー・タイムの開始日と終了日を定義します。 デフォルト値はありません。
- NLSPATH (メッセージ・カタログの検索パス)
- メッセージ・カタログをオープンするときに、システムは、そのカタログが見つかるまで、表示されているディレクトリーを指定された順序で検索します。 この変数の値は、コロンで区切ったディレクトリーのリストです。 デフォルト値はありません。
- PATH (コマンドの検索パス)
- 指定したコマンドがスラッシュ (/) で始まっていない場合は、 qsh は、実行するコマンドが見つかるまで、表示されているディレクトリーを指定された順序で検索します。 この変数の値は、コロンで区切ったディレクトリーのリストです。 現行作業ディレクトリーは、 最初のコロンの前、2 つのコロンの間、または最後のコロンのあとのピリオド (.) またはヌル・ディレクトリーで指定されます。 デフォルト値は "/usr/bin:.:/QOpenSys/usr/bin" です。
- PS1 (1 次プロンプト・ストリング)
- 対話式オプションが設定されている場合、qsh は、この変数についてパラメーター展開、コマンド置換、および算術展開を行い、qsh がコマンドを読み取る準備ができた時点でこの変数を stderr に表示します。
デフォルト値は "$" です。
- PS2 (2 次プロンプト・ストリング)
- コマンドが完了する前に <newline> を入力すると、 qsh は stderr にこの変数の値を表示します。
デフォルト値は ">" です。
- PS3 (select コマンド・プロンプト)
- select 複合コマンドを実行する場合、qsh は、
この変数についてパラメーター展開、コマンド置換、および算術展開を行い、
select によって表示される選択項目の 1 つをユーザーが選択するように促すため、
この変数を stderr に表示します。
デフォルト値は "#?" です。.
- PS4 (デバッグ・プロンプト・ストリング)
- 実行トレース・オプションが設定され、対話式オプションが設定されると、qsh は、この変数についてパラメーター展開、コマンド置換、および算術展開を行い、実行トレース内の各行の前に、この変数を stderr 表示します。
デフォルト値は "+" です。
- QIBM_CCSID (変換用 CCSID)
- この変数を数値に設定した場合は、qsh、および種々のユーティリティーは、
ファイルを作成したり、ジョブの CCSID からデータを変換したりするときに、その値を使用します。
デフォルト値は "0" です。これは、デフォルト・ジョブの CCSID を表します。値 "65535" は、変換を行わないことを意味します。
- QIBM_CHILD_JOB_SNDINQMSG (子プロセスの開始時点での照会メッセージの送信)
- この変数が正の数値に設定されているときは、子プロセスの修飾ジョブ名の付いた照会メッセージが、親プロセスに送られます。 子プロセスは、コマンド発行者がメッセージに応答するまで保留にされます。 この変数を設定することによって、プログラムの実行前にブレークポイントを設定して、子プロセス内で実行されているプログラムをデバッグすることができます。 この変数の値は、デバッグする子孫プロセスのレベルです。 この値が 1 に設定されると子プロセスは保留にされ、2 に設定されると子プロセスと孫プロセスが
保留にされます (以下同様です)。デフォルト値はありません。
- QIBM_MULTI_THREADED (マルチスレッド機能付きプロセスの開始)
- この変数は、qsh が開始するプロセスが複数のスレッドを作成できるかどうかを決定します。 この変数の値が "Y" であれば、qsh が開始するすべての子プロセスが
スレッドを開始できます。
デフォルト値は "N" です。
- QSH_REDIRECTION_TEXTDATA (ファイルのリダイレクト用のテキストとしてのデータの処理)
- この変数は、リダイレクトに指定されたファイルから読み取るデータ、またはそのファイルに書き込むデータを、テキスト・データとして取り扱うか 2 進データとして取り扱うかを決定します。 この変数の値が "Y" の場合は、qsh は、ファイルから読み取るデータまたはファイルに書き込むデータをテキスト・データとして取り扱います。
この変数の値が "Y" でない場合は、qsh は、ファイルから読み取るデータまたはファイルに書き込むデータを、2 進データとして取り扱います。デフォルト値は "Y" です。
- QSH_USE_PRESTART_JOBS (使用可能な場合の事前開始ジョブの使用)
- この変数は、事前開始ジョブが使用可能な場合に、 qsh が開始するプロセスで事前開始ジョブを使用するかどうかを決定します。 この変数の値が "Y" であれば、現行サブシステム内で
事前開始ジョブが使用可能である場合に、qsh は事前開始ジョブを使用します。
この変数の値が "Y" でないか、または事前開始ジョブが使用可能でない場合は、
qsh が開始するプロセスはバッチ即時ジョブです。
デフォルト値は "Y" です。
- SHELL (シェルのパス名)
- 最初の行に "#!" が指定されていないスクリプト・ファイルを実行するとき、qsh は、この変数の値をシェル・インタープリターのパス名として使用して、スクリプトを実行します。デフォルト値はありません。
- TRACEFILE (トレース・ファイルのパス名)
- トレース・オプションの設定時に qsh は、
トレース情報を保管するファイルのパス名としてこの変数の値を使用します。
デフォルト値は "$HOME/qsh_trace" です。
- TRACEOPT (トレース・ファイルのオプション)
- トレース・オプションの設定時に qsh は、
トレース・ファイルをハンドルする方法を決定するためにこの変数の値を使用します。
この変数の値が "UNLINK" の場合は、qsh は、
ルート・シェルでトレース・ファイルをオープンする前にトレース・ファイルをリンク解除します。
この変数の値が "KEEP" の場合は、qsh は、
現行のトレース・ファイルを保持します。
デフォルト値は "UNLINK" です。
その他の変数
- QIBM_CMP_FILE_SIZE
- この変数は、パフォーマンスを向上するために cmp が内部バッファーに読み取る最大ファイル・サイズ (バイト単位) を制御します。最大サイズよりも大きいファイルの場合、cmp は一度に 1 バイトずつファイルを読み取ります。
- QIBM_OD_OUTPUT_FORMAT (od の出力フォーマット)
- この変数は od ユーティリティーの出力フォーマットを制御します。
この変数の値が "OLD" の場合は、
od は前のリリースから古いフォーマットを使用します。
古いフォーマットは現行の業界標準とは互換性がないので、できるだけ使わないようにしてください。
デフォルト値はありません。
- QIBM_QSH_CMD_ESCAPE_MSG (QSH CL コマンドからのエスケープ・メッセージの送信)
- この変数は、CMD パラメーターが指定されている場合に、
どのように QSH CL コマンドからメッセージを送信するかを制御します。
値が "Y" の場合、QSH0006 および QSH0007 メッセージが常にエスケープ・メッセージとして送信され、
終了状況がゼロより大きいときは、QSH0005 メッセージもエスケープ・メッセージとして送信されます。
デフォルト値はありません。
- QIBM_QSH_CMD_OUTPUT (QSH CL コマンドの出力を制御)
- この変数は、CMD パラメーターが指定されている場合に、QSH CL コマンドからの出力を制御します。
この値が "STDOUT" の場合、出力は C ランタイム端末セッションに表示されます。
この値が "NONE" の場合、出力は廃棄されます。
この値が "FILE" の場合、出力は指定されたファイルに書き込まれます。
この値が "FILEAPPEND" の場合、出力は指定されたファイルに追加されます。
デフォルト値は "STDOUT" です。
- QIBM_QSH_INTERACTIVE_CMD (初期対話式コマンド)
- この変数がコマンド・ストリングに設定されている場合、
対話式セッションの開始時に qsh はそのコマンドを実行します。
qsh にコマンドを実行させるには、QSH CL コマンドを呼び出す前にその値を設定する必要があります。
デフォルト値はありません。
- QIBM_QSH_INTERACTIVE_TYPE (対話式セッションのタイプ)
- この変数は、QSH CL コマンドによって開始される対話式セッションのタイプを設定します。
この値が "NOLOGIN" の場合、対話式セッションはログイン・セッションではありません。
それ以外の値の場合、対話式セッションはログイン・セッションです。
デフォルト値はありません。
- QIBM_SYSTEM_ALWMLTTHD (システムのマルチスレッド・ジョブの許可)
- この変数は、マルチスレッド対応ジョブで system ユーティリティーが
動作する方法を制御します。
その変数の値が "Y" で、ジョブにスレッドが 1 つしかない場合、
system はジョブの中で CL コマンドを実行します。
それ以外の場合、system は CL コマンドを実行するために新規のジョブを開始します。
デフォルト値はありません。
- QIBM_SYSTEM_USE_ILE_RC
- system ユーティリティーが終了状況を設定する方法を制御するのにこの環境変数を設定します。
変数の値が "Y" である場合、system は終了状況を、CL コマンドによって呼び出されたプログラムの ILE 戻りコードに設定しますが、プログラムが戻りコードを設定していない場合には、ゼロに設定します。デフォルト値はありません。