linux tee和cat使用EOF往文件中添加內容


EOF和 -EOF區別

后者會自動刪除tab產生的空格

1、覆蓋

這里有兩種格式可以使用

格式一

#!/bin/bash
cat << EOF > /root/test.txt
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF

格式二

#!/bin/bash
cat > /root/test.txt <<EOF
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF

兩種寫法區別無法是要寫入的文件放在中間或最后的問題,至於選哪種看個人喜好吧。

2、追加

覆蓋的寫法基本和追加一樣,不同的是單重定向號變成雙重定向號。

格式一

#!/bin/bash
cat << EOF >> /root/test.txt
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF

格式二

#!/bin/bash
cat >> /root/test.txt <<EOF
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF

需要注意的是,不論是覆蓋還是追加,在涉及到變量操作時是需要進行轉義的,例如:

#!/bin/bash
cat <<EOF >> /root/a.txt
PATH=\$PATH:\$HOME/bin
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/10.2.0/db_1
export ORACLE_SID=yqpt
export PATH=\$PATH:\$ORACLE_HOME/bin
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
EOF

語法

tee [-ai][--help][--version][文件...]

參數:

-a或--append  附加到既有文件的后面,而非覆蓋它.
-i或--ignore-interrupts  忽略中斷信號。
--help  在線幫助。
--version  顯示版本信息。

實例
使用指令"tee"將用戶輸入的數據同時保存到文件"file1"和"file2"中,輸入如下命令:

$ tee file1 file2 #在兩個文件中復制內容

以上命令執行后,將提示用戶輸入需要保存到文件的數據,如下所示:

My Linux #提示用戶輸入數據
My Linux #輸出數據,進行輸出反饋

此時,可以分別打開文件"file1"和"file2",查看其內容是否均是"My Linux"即可判斷指令"tee"是否執行成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM