Bash 中的 Cat EOF
Fumbani Banda
2023年1月30日
Bash
Bash Cat
Bash EOF

本教程解释了 cat EOF 是什么以及它在 bash 中的用法。
Bash 中的 Cat EOF
cat
是一个 bash 命令,用于读取、显示或连接文件的内容,而 EOF
代表 End Of File
。EOF
向 shell 表明正在读取的文件已经结束。cat << eof
使用 here-document
。重定向运算符 <<
和 <<-
都允许将 shell 读取的后续行重定向到命令的输入。重定向的行称为 here-document
。
here-document
使用以下格式。
[n] << word
here-document
delimeter
here-document
被视为在下一个换行符之后开始的单个单词。它一直持续到有一行只包含分隔符或一个新行,中间没有空白字符。
将多行字符串放入 Bash 中的文件
cat
、<<
、EOF
和 >
提供了一种将多行字符串输入到文件中的交互方式。EOF
被称为 Here Tag
。Here Tag
告诉 shell 你将输入一个多行字符串直到 Here Tag
。<<
用于设置 Here Tag
。>
用于将输入内容重定向到指定的文件,在我们的例子中是 multiline.txt
。
cat << EOF > multiline.txt
> This is the first line
> This is the second line
> This is the third line
> EOF
我们还可以使用 cat
、<<
、EOF
和 >
以交互方式编写如下所示的 bash 脚本。
cat << EOF > script.sh
#!/bin/bash
printf "Hello\n"
printf "Wordl!\n"
EOF
在 Bash 中将多行字符串传递给管道
下面的代码使用 cat
、eof
和管道将多行输入字符串内容重定向到指定的管道和命令。输入通过管道传输到 grep 命令,grep 字符串 A
,匹配的输入通过管道传输到 tee
命令。tee
命令将输入复制到 fruits.txt
文件。
cat <<EOF | grep 'A' | tee fruits.txt
> Apple
> Orange
> Apricot
> Banana
> EOF
让我们用 cat
检查 fruits.txt
文件的内容。
cat fruits.txt
输出:
Apple
Apricot
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Fumbani Banda