Shell 文件的輸入輸出
詳情地址:? https://www.xiaobuteach.com/shell/io/file.html?from=bili
Shell 文件的輸入輸出
本節(jié)實現(xiàn)從文件輸入,輸出到文件。
準(zhǔn)備數(shù)據(jù)文件data1.txt,其中內(nèi)容為:xiaobuteach.com
1 輸入位置
例1:從文件中讀取內(nèi)容
read -p "input name:" name < data1.txt
<與文件名之間空隔可有可無。
然后echo $name查看數(shù)據(jù)

2 輸出位置
例2:往文件中寫內(nèi)容
echo $name > bak1.txt
>與文件名之間空格可有可無。

查看數(shù)據(jù)正確。
例3:將輸出與錯誤寫到不同文件
ll file1.txt file-error.txt 1> log.txt 2>err.txt
1>log.txt表示將正常內(nèi)容寫到log.txt文件
2>err.txt表示將錯誤內(nèi)容寫到err.txt文件

ll命令執(zhí)行完后,并沒有顯示到顯示器,而是輸出到了文件。
例4:僅將錯誤寫到文件。
ll file1.txt file-error.txt 2>err.txt
分析:錯誤寫到文件,輸出沒有改變目的地,還是會在默認(rèn)位置即硬件顯示。

例5:將所有內(nèi)容全部寫到1個文件 all.txt
ll file1.txt file-error.txt &>err.txt
&>表示輸出與錯誤全部寫到后面指定位置。

例6:默認(rèn)寫入 > 是寫入什么內(nèi)容?
ll file1.txt file-error.txt >x.txt

不看文件內(nèi)容,通過界面顯示我們能得到文件內(nèi)容的答案。
3 輸出模式
> 表示覆蓋文件;
>> 表示追加內(nèi)容;
>! 表示強(qiáng)制覆蓋,shell有參數(shù)設(shè)置覆蓋是否提示,通過此操作符能忽略此參數(shù)設(shè)置。
4 小結(jié)
1)輸入從文件中讀取
輸入命令 < 文件
2)輸出到文件
命令 輸出操作符 文件 [輸出操作符 文件]
輸出操作符說明>等價于1> ,覆蓋文件1>輸出寫入文件2>錯誤寫入文件&>都寫入文件>>追加數(shù)字或& + >>輸出/錯誤相應(yīng)的追加>!強(qiáng)制覆蓋數(shù)字或& + >>輸出/錯誤相應(yīng)的強(qiáng)制覆蓋
上述這些操作符稱為重定向操作符。