Io-Redirection

這個命令到底發生了什麼?

  • October 24, 2019

當我使用該命令時,cat <<< Hey > text.txt text.txt我希望它在文件 text.txt 中寫入“嘿”,然後顯示該文件。但是沒有輸出。bash 實際上是如何解釋它的?

命令及其輸出:

$ cat <<< Hey > text.txt text.txt
$ cat text.txt
$

如果您稍微重新排列重定向,也許會有意義:

<<< Hey > text.txt cat text.txt

Hey被發送到 cat 的標準輸入,作為一個字元串。text.txt被打開以供寫入,並被截斷。因此,如果其中有任何文本,它將消失。

cat使用參數執行text.txt。由於文件是作為參數提供的,因此它會忽略標準輸入,因此Hey未使用。text.txt被截斷,所以當cat執行text.txt參數時,沒有任何輸出,所以text.txt作為catvia 重定向的標準輸出,繼續保持為空。

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