リダイレクト (CLI)
ひとつのプログラムが明示的な中間のファイルを必要とせずに別のプログラムの出力を読むように、プログラム動作させることができる。
command1を実行し、出力をcommand2の入力として使用する。文字"|"が「パイプ」と呼称されるので、これはパイプ処理と呼ばれる。
これは、二つのリダイレクトとテンポラリファイルを使用することと同等である(command1とcommand2が並行して処理されるか、rmが不可分操作であるか、といった違いはある)。
パイプ処理のためのよい例は、インタラクティブでないシェルの中で何かインタラクティブなことを行うためにechoを別なコマンドと結合することである。たとえば
これはユーザ名、リターンキー、パスワードをあらかじめ入力してFile Transfer Protocolクライアントを走らせる。
固定的な文字列を標準入力から読み込ませる方法には、前述の、echoを用いて標準入力から読み込ませる以外に、ヒアドキュメントからのリダイレクトを用いる方法がある。それには、以下のような方法を用いる。
ここで、<<に後続する文字列は必ずしも"!"である必要はない。伝統的には"!"や"EOF"(複数文字であってもよい)などがよく用いられ、その文字がドキュメントの終端を示す。標準入力に読み込ませるドキュメントがまさにその場所にあることから、そのドキュメントをヒアドキュメントと呼んでいる。
これを用いると、echoを用いた前述の例
は
に置き換え可能である。標準入力からの操作を待つ、インタラクティブなコマンドを用いて、非インタラクティブに処理を行う場合に多用される。