標準入力、標準出力、および標準エラーを理解する

コマンドは、実行を始めると 3 つのファイルにアクセスします。

  1. コマンドは、その標準入力 ファイルから読み取ります。 デフォルトでは、標準入力はキーボードです。
  2. コマンドは、その標準出力 ファイルに書き込みます。
    • シェルからシェル・コマンドをユーザーが呼び出した場合、あるいは、TSO READY から 呼び出された C プログラムや REXX プログラムをユーザーが呼び出した場合、 デフォルトでは、標準出力はユーザーの端末画面に送られます。
    • シェル・コマンド、REXX プログラム、または C プログラムを ISPF シェルからユーザーが 呼び出した場合には、標準出力をユーザーの端末画面に送ることはできません。ユーザーは、z/OS UNIX ファイルを指定するかまたはデフォルトの一時ファイルを使用できます。
  3. 標準エラー・ファイルへ、エラー・メッセージを書き込みます。
    • シェルからシェル・コマンドをユーザーが呼び出した場合、あるいは、TSO READY から 呼び出された C プログラムや REXX プログラムをユーザーが呼び出した場合、 デフォルトでは、標準エラーはユーザーの端末画面に送られます。
    • シェル・コマンド、REXX プログラム、または C プログラムを ISPF シェルから 呼び出した場合、標準エラーをユーザーの端末画面に送ることはできません。ユーザーは、z/OS UNIX ファイルを指定するかまたはデフォルトの一時ファイルを使用できます。

      コマンドが完了したとき、標準出力または標準エラー・ファイルに データが入っている場合は、ユーザーがブラウズできるように、そのファイルが表示されます。

シェルの使用

シェルの中では、上述のファイル名は次のとおりです。
  • stdin は、標準入力 ファイルの名前です。
  • stdout は、標準出力 ファイルの名前です。
  • stderr は、標準エラー・ファイルの 名前です。
ある場合には、シェルはこれらのファイルをファイル・ディスクリプター、 つまり ID で参照します。
  • 標準入力の場合は、0
  • 標準出力の場合は、1
  • 標準エラー出力の場合は、2
シェルによってサポートされるファイル・ディスクリプターの詳細については、「z/OS UNIX System Services コマンド解説書」の sh - シェルを起動する を参照してください。

TSO/E の使用

BPXBATCH ユーティリティーを呼び出すときは、DD 名を使用して、上記の標準ファイルを MVS™ DD ステートメント、TSO/E ALLOCATE コマンド、または DYNALLOC マクロの中で指定できます。
  • STDIN: 標準入力の DD 名です。
  • STDOUT: 標準出力の DD 名です。
  • STDERR: 標準エラーの DD 名です。

BPXBATCH の詳細については、BPXBATCH ユーティリティーを参照してください。

ISPF の使用

シェル・コマンド、REXX プログラム、および C プログラムを ISPF シェルから実行する場合、stdout および stderr を端末に送ること はできません。ユーザーは、z/OS UNIX ファイルを指定するかまたはデフォルトの一時ファイルを使用できます。そのファイルにデータが入っている場合は、コマンドまたは プログラム完了時にユーザーがブラウズできるように、そのファイルが表示されます。