jia*_*ian 10 bash pipe io-redirection here-document
在这个答案中,How does "cat << EOF" work in bash? 在 Stack Overflow 上,我得到了前两点。但我没有得到第三点Pass multi-line string to a pipeline in Bash
将多行字符串传递到 Bash 中的管道
Run Code Online (Sandbox Code Playgroud)$ cat <<EOF | grep 'b' | tee b.txt foo bar baz EOF
因为它有 3 个单词,2 个管道字符。然后我不知道如何解释它。
Kam*_*ski 18
从你的评论来看:
\n\n\n我不确定第一个管道符(“|”)的作用是什么?
\n
第一个|字符将 的输出连接cat到 的输入grep。<<重定向;的输入 cat这是一个完全独立的重定向,<类似于cat <some_file | grep \xe2\x80\xa6.
您可能更喜欢<<EOF cat | grep \'b\' | tee b.txt(比较这个答案),因为如果您从左到右阅读,那么它将严格对应于数据的流动方式:here\xc2\xa0document \xe2\x86\x92 cat\xe2\x86\x92 grep\xe2\x86\ x92 tee。
请注意,这一切都可以在没有以下内容的情况下完成cat:
<<EOF grep \'b\' | tee b.txt\nfoo\nbar\nbaz\nEOF\nRun Code Online (Sandbox Code Playgroud)\n(或者grep \'b\' <<EOF | \xe2\x80\xa6)。
| 归档时间: |
|
| 查看次数: |
5490 次 |
| 最近记录: |