コマンド1:(cat file1 > file2
成功)
コマンド2:file2 < cat file1
(cat:対応するファイルやディレクトリなし)
出力と入力のリダイレクトの一般的な構文を知りたいです。
ファイルまたはストリームに対してリダイレクトが発生する可能性がある場合、コマンド2が失敗するのはなぜですか?
答え1
リダイレクトの場所
cat file1 >file2
出力リダイレクトが指定され、<
入力リダイレクトが指定されます。
ライン
file2 < cat file1
同じですか?
file2 file1 <cat
(リダイレクトが実際に発生する場所は重要ではありません。自己解析フェーズでシェルによって処理され、実際のコマンドから削除されるためです。)これは「引数としてfile2
実行しfile1
、ファイルから標準入力をリダイレクトcat
」を意味します。
cat
エラーは、現在のディレクトリでファイルとして開こうとしているシェルで発生します。シェルがコマンドを実行する前にエラーが発生しますfile2
。