Bash 中的 Cat EOF

Fumbani Banda 2023年1月30日 2022年5月14日
  1. Bash 中的 Cat EOF
  2. 将多行字符串放入 Bash 中的文件
  3. 在 Bash 中将多行字符串传递给管道
Bash 中的 Cat EOF

本教程解释了 cat EOF 是什么以及它在 bash 中的用法。

Bash 中的 Cat EOF

cat 是一个 bash 命令,用于读取、显示或连接文件的内容,而 EOF 代表 End Of FileEOF 向 shell 表明正在读取的文件已经结束。cat << eof 使用 here-document。重定向运算符 <<<<- 都允许将 shell 读取的后续行重定向到命令的输入。重定向的行称为 here-document

here-document 使用以下格式。

[n] << word
     here-document
delimeter

here-document 被视为在下一个换行符之后开始的单个单词。它一直持续到有一行只包含分隔符或一个新行,中间没有空白字符。

将多行字符串放入 Bash 中的文件

cat<<EOF> 提供了一种将多行字符串输入到文件中的交互方式。EOF 被称为 Here TagHere 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 中将多行字符串传递给管道

下面的代码使用 cateof 和管道将多行输入字符串内容重定向到指定的管道和命令。输入通过管道传输到 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
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub