Io-Redirection

‘cat < file.txt’ 和 ’echo < file.txt’ 之間的區別

  • May 8, 2017

我有一個名為 file.txt 的文件,其中包含一些內容為“abcdef”,當我這樣做時,cat &lt; file.txt我得到輸出 abcdef,但是當我這樣做時echo &lt; file.txt,沒有返回任何輸出。為什麼輸入重定向不適用於 echo 但適用於 cat?

您可以使用echo以下方式閱讀file.txt(不重定向):

echo "$(&lt;file.txt)"

樣本輸出:

abcdef

為什麼輸入重定向不能使用echo但可以使用cat

因為該echo命令不接受來自標準輸入的任何內容cat,所以它只接受參數。

來自man cat

cat - 連接文件並在標準輸出上列印

概要

$$ OPTION $$…$$ FILE $$… 描述

將FILE(s) 或標準輸入連接到標準輸出。

來自man echo

echo - 顯示一行文本

概要

迴聲

$$ SHORT-OPTION $$…$$ STRING $$… 迴聲長選項

描述

將字元串回顯到標準輸出。

(強調我的)

引用自:https://unix.stackexchange.com/questions/363534