#輸入輸出重定向:Unix默認從stdin獲取輸入,stdout輸出,輸入設備是鍵盤,輸出設備是終端
#輸出重定向:明朗的輸出不只能夠是顯示器,還能夠轉移到文件,這被叫作輸出重定向
#輸出重定向會覆蓋文件內容
#輸出重定向語法: command > fileshell
1 echo who > users #在當前目錄建立一個users文件,並寫入獲取的當前用戶名#
#輸入重定向語法: command < file
#重定向深刻講解
#通常狀況Unix/Linux命令運行時都會打開三個文件
#標準輸入文件stdin:文件描述符爲0,Unix默認從stdin讀取數據
#標準輸出文件stdout:文件描述符爲1,Unix默認從stdout輸出數據
#標準錯誤文件stderr:文件描述符爲2,Unix會向stderr流中寫入錯誤信息
#默認狀況下,command > file將stdout重定向到file,command < file將stdin重定向到file
#若是但願stderr重定向到file :command 2 > file
#若是但願stderr追加到file末尾 : command 2 >> file
#若是但願stdout和stderr合併後重定向到file : command > file 2>&1 or command > file 2>&1
#若是但願stdin和stdout都重定向 :command < file1 > file2
#command命令將stdin重定向到file1,stdout重定向到file2
#查看所有可用的重定向命令列表獲取更多 ~/桌面/Blog/Shell#
#Here Document:shell中一種特殊的重定向方式:形式以下:
#command << delimiter
# document
#delimiterurl
#它的做用是將兩個delimiter之間的內容document做爲輸入傳遞給command
#注意:結尾的delimiter必定要頂格寫
#開始的delimiter先後的空格會被忽略掉:例如:spa
1 cat << EOF 2 This 3 is 4 a test 5 EOF
#計算行數例子以下: 終端輸入 : 結果 : 3code
1 wc -l << EOF 2 This 3 is 4 a test 5 EOF
#將document保存到當前目錄的test.txt文件blog
1 cat << EOF > test.txt 2 This file was created automatically from 3 a shell script 4 EOF
#/dev/null:若是但願執行某個命令,但又不但願在終端輸出結果,那麼能夠將輸出重定向到 /dec/null
# command > /dev/null
#這是一個特殊的文件,寫入其內容會被丟棄,一樣讀取不到內容。
#但它很是有用,將命令輸出重定向到它,起到 禁止輸出 的效果
#若是但願屏蔽stdout和stderr : command > /dev/null 2>&1
#像其餘語言同樣,Shell能夠包含外部腳本
#包含腳本可使用:. filename or source filename
#建立一個被調用腳本subscript.sh : url="www.baidu.com"
#建立主文件main.sh
ip
1 . ./subscript.sh 2 echo ${url}
#賦予main +x 權限並執行,會輸出 www.baidu.com
#被包含腳本不須要執行權限
it