$ sh < foo > bar このステートメントは問題です。

$ sh < foo > bar このステートメントは問題です。

次のコマンドは何をしますか?私は新入で、まだ学んでいます。

$ sh < foo > bar

このようなより多くの質問を明確に理解できるように、どのように段階的に説明できますか?

ベストアンサー1

それを分析しましょう。コマンドは3つの部分に分けられます。

sh

sh実行するプログラムの名前です。この場合sh

< foo

<simbolは、次の単語がファイル名であり、コマンドシェル(shに関連付けられていないコマンドを実行するシェル、偶然シェルとなる呼び出されたプログラム)が標準入力に追加されることを意味しますfoo。 Content 記号の後に続くファイルを追加します。

> bar

>シンボルコマンドシェルは、実行可能プログラムの標準出力をファイルに追加しますbar

これらのリダイレクトパスは、プログラムの実行が開始される前に設定されます。

したがって、コマンド全体がsh < foo > barシェルで実行されます。プログラムがshファイルからコマンドを読み取り、fooその出力をファイルに保存するようにしますbar。ファイルがfoo存在しない場合、エラーが発生します。シェルの動作は、使用するシェルのオプションによって決まるファイルの存在に依存しますbarnoclobber

おすすめ記事