Bash 中的 Cat EOF
Fumbani Banda
2023年1月30日
本教程解釋了 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
作者: Fumbani Banda