次のコマンドは何をしますか?私は新入で、まだ学んでいます。
$ sh < foo > bar
このようなより多くの質問を明確に理解できるように、どのように段階的に説明できますか?
ベストアンサー1
それを分析しましょう。コマンドは3つの部分に分けられます。
sh
sh
実行するプログラムの名前です。この場合sh
。
< foo
<
simbolは、次の単語がファイル名であり、コマンドシェル(shに関連付けられていないコマンドを実行するシェル、偶然シェルとなる呼び出されたプログラム)が標準入力に追加されることを意味しますfoo
。 Content 記号の後に続くファイルを追加します。
> bar
>
シンボルコマンドシェルは、実行可能プログラムの標準出力をファイルに追加しますbar
。
これらのリダイレクトパスは、プログラムの実行が開始される前に設定されます。
したがって、コマンド全体がsh < foo > bar
シェルで実行されます。プログラムがsh
ファイルからコマンドを読み取り、foo
その出力をファイルに保存するようにしますbar
。ファイルがfoo
存在しない場合、エラーが発生します。シェルの動作は、使用するシェルのオプションによって決まるファイルの存在に依存しますbar
。noclobber