為什麼「less」指令無法從標準輸入讀取資料?

為什麼「less」指令無法從標準輸入讀取資料?

該命令less < brown_fox.txt將從中讀取資料brown_fox.txt並將其列印在螢幕上。但是如果我想使用 less 指令從標準輸入或鍵盤讀取數據,我該怎麼做呢?

我嘗試了以下命令,

less
less <&0

但他們都沒有成功。

答案1

為了讀取stdin,您可以使用

less -

但是,這更適合您想要將另一個命令的輸出通過管道傳輸到less.從鍵盤打字也可以,但你將在盲區打字,並且必須按下Ctrl-C才能將控制權返回到 less,這使得這種用法相當困難(如果不是毫無意義的話)。另請注意,這是未記錄的,並且可能根本不可移植!

也許您想進一步說明為什麼要less閱讀stdin?

答案2

如果您嘗試向 發送命令less,可以+在命令列中使用,例如:

less +G somefile

ls -l | less +G

這相當於打開並在預設提示符下less鍵入命令。G


如果您正在談論less您輸入的分頁信息,您可以使用heredoc,但我不確定其用例:

less << EOF
hello
world
EOF

相關內容