我學習linux的cat命令,我發現這個命令:這個linux命令中的「 - 」是什麼意思?
$ echo 'Text through stdin' | cat - file.txt
什麼是「 - 」這裏的意思?如果我沒有輸入它,那麼'通過標準輸入文本'將不會顯示。
我學習linux的cat命令,我發現這個命令:這個linux命令中的「 - 」是什麼意思?
$ echo 'Text through stdin' | cat - file.txt
什麼是「 - 」這裏的意思?如果我沒有輸入它,那麼'通過標準輸入文本'將不會顯示。
通常將stdin
記爲短劃線(-
)。
甚至man cat
提到:
沒有FILE,或者FILE是 - ,讀取標準輸入。
和手冊頁甚至有說明使用破折號和普通文件名的例子(這是相當接近你原來的問題,但包括答案):
cat f - g
Output f's contents, then standard input, then g's contents.
認識到'stdin'被讀取後文件'file.txt'將被顯示是很重要的。 –
@PP。對,我在manpage中添加了兩行(順便說一句,他們是在我原來的引用之後出現的),應該明確這一點。 –
-
講述了一隻貓從讀標準輸入。如果你通過-
給他們,很多應用程序從標準輸入讀取這是很常見的。
$ echo 'Text through stdin' | cat - file.txt
-
告訴cat
從標準輸入讀取,在這種情況下,從管道中,即,什麼echo 'Text through stdin'
輸出。
可能重複的[是「 - 」意味着標準輸出在bash?](http://stackoverflow.com/questions/3797795/does-mean-stdout-in-bash)(無可否認stdin /標準輸出,取決於上下文...) – Bruno