Bash 中的 Cat EOF

Fumbani Banda 2023年1月30日
  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
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