Linux學習筆記 -- stdin/stdout 重定向


輸入/輸出重定向

Linux系統通常從一個叫標准輸入的地方讀取輸入並且將一個命令的結果以寫入到標准輸出反饋給我們;默認情況下,這也是我們使用的終端(命令行)。如果我們想改變輸入和輸出的方式,就需要使用重定向。通常重定向命令有如下幾種方式:

命令 說明
command > file 將輸出重定向到 file。
command < file 將輸入重定向到 file。
command >> file 將輸出以追加的方式重定向到 file。
n > file 將文件描述符為 n 的文件重定向到 file。
n >> file 將文件描述符為 n 的文件以追加的方式重定向到 file。
n >& m 將輸出文件 m 和 n 合並。
n <& m 將輸入文件 m 和 n 合並。
<< tag 將開始標記 tag 和結束標記 tag 之間的內容作為輸入。

需要注意的是:

文件描述符 0 通常是標准輸入(STDIN)

1 是標准輸出(STDOUT)

2 是標准錯誤輸出(STDERR)

 

例1:輸出重定向

!/bin/bash

echo "stdout redirection" > myfile #將標准輸出 "stdout redirection" 重定向的文件 “myfile”

echo "stdout redirection again" >> myfile # ">>" 表示將重定向的內容附加到文件,不會覆蓋掉之前的內容

 

例2:輸入重定向

!/bin/bash

echo < myfile #將輸出“myfile” 文件的內容

 

Here Document

它的作用是將兩個 EOF 之間的所有內容當成一個整體文本進行處理,語法:

command << EOF
    document
EOF

 

舉例:

#!/bin/bash

cat << EOF
my name is Jim,
I am 22 years old!!
EOF

output: my name is Jim, I am
22 years old!!

 


免責聲明!

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



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