Bash 中的 Cat EOF
Fumbani Banda
2023年1月30日
2022年5月14日
本教程解释了 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
Author: Fumbani Banda