4

私はちょうどこの問題について疑問に思っています:「ls -al | less」のようなものを使用できる場合、less は stdin からの入力を待機できるはずです。私が予想していたのは、「less」コマンドを実行した後、プログラムがハングアップして入力を待つことです(gets()などを呼び出した結果として)。

しかし、実際に「Missing filename ("less --help" for help)」というエラー メッセージが表示されたのはなぜでしょうか。

ありがとうございました。

4

3 に答える 3

3

lessargc>1コマンドは両方をチェックstdinし、(tty ではなく) ファイルに関連付けることができます。

于 2013-03-28T00:40:45.383 に答える
0

less コマンドは、その点で設計されていません。bash でコマンドを実行すると、すべての情報が一度に表示されます。less コマンドは、コマンドの STDOUT またはファイルの内容を一度に 1 画面ずつ表示するために使用されます。

于 2013-03-28T00:40:15.863 に答える
-1
$ ls -al | less
total 16
drwxrwxr-x  4 hdante hdante 4096 Nov 24 17:11 .
drwxr-xr-x 88 hdante hdante 4096 Mar 24 22:14 ..
drwxrwxr-x  2 hdante hdante 4096 Nov 25 01:55 new
drwxrwxr-x  3 hdante hdante 4096 Nov 24 18:27 old
(END)

できます。あなたの以下に何か問題があります。以下のマニュアルページから:

http://www.linuxmanpages.com/man1/less.1.php https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/less.1.html

マニュアルでは、ファイル名をオプションとして説明しています。

問題を診断するためのヒント:

  • エイリアスを試す | コマンドが変更されているかどうかを確認するには、grep less
  • トライセット | LESS を grep し、LESSCLOSE と LESSOPEN によって実行されているスクリプトを確認します。
于 2013-03-28T00:56:14.600 に答える