2012-02-20 7 views
2

moreコマンドを使用するのが一般的です。多くのものが通常パイプと一緒に使用されます。だから私はstdinから読むことが多いと思う。パイプで区切られたすべてのコマンドはプロセスであり、以前はパイプを作成していましたが、dup2はより多くのstdinへの書き込みパイプです。コンソールに「more」と入力すると、ちょうどいくつかの使用法が表示されることがわかりました。それで何が問題なの?stdinからの読み込みをもっとコマンドできますか?

答えて

2

なぜあなたは何かが間違っていると思いますか?ターミナル用に出力されるページが増えるので、十分に入力された標準入力からページを待つのは何でしょうか?

moreと1つ以上のファイル名を入力すると、その入力がページされます。だから、行動のようなものである:価値がある何のために

am I attached to a terminal? ("isatty") 
    are there filenames in argv 
     page files 
    else 
     display help 
else 
    page pipe input 
2

これは機能です。標準入力が端末に接続されていることを検出し、処理の代わりにヘルプメッセージを表示します。ページャーを手動で入力している間は、入力にページャーを実行するのが理にかなった状況はほとんどありません。実際に実際にしたい場合は、たとえばcat | moreを試してください。

2

、私は私のLinuxディストリビューションにリポジトリによって提供されたソースパッケージを見て、これを見つけた:

if (!no_intty && nfiles == 0) { 
usage(argv[0]); 
exit(1); 
} 

だから、実際に行動を表示することです入力が検出されなかった場合の使用方法メッセージ

関連する問題