0.前言 本文總結如何使用echo命令向檔案中寫入內容,例如使用echo指令覆蓋檔案內容,使用echo指令向檔案追加內容,使用echo指令往檔案中追加定位字元。 echo向檔案中輸出內容的基本方法是使用IO重新導向指令——“>”,預設情況下echo輸出到標準輸出中,使用>指令可重新導向輸出到檔案中。
1.echo指令基本用法 【1】 Linux官方使用者手冊——echo指令 【2】輸入指令獲得協助 sudo echo --help 返回內容如下
用法:echo [短選項]... [字串]...或:echo 長選項將 STRING 回顯到標準輸出。 -n 不尾隨分行符號 -e 啟用解釋反斜線的轉義功能 -E 禁用解釋反斜線的轉義功能(預設) --help 顯示此協助資訊並退出 --version 顯示版本資訊並退出若-e 可用,則以下序列即可識別: \\ 反斜線 \a 響鈴聲 \b 退格 \c 不再產生新的輸出 \e 轉義符 \f 換頁 \n 新行 \r 斷行符號 \t 水平定位字元 \v 豎直定位字元 \0NNN 位元組數以八位元 NNN (1至3位)表示 \xHH 位元組數以十六進位數 HH (1至2位)表示
2.覆蓋檔案內容 【樣本指令碼】test.sh 使用>指令覆蓋檔案原內容並重新輸入內容,若檔案不存在則建立檔案。 #!/bin/bash echo "Raspberry" > test.txt 【操作過程】 # 修改許可權,指令碼可執行 chmod u+x test.sh ./test.sh 【檔案內容】 Raspberry
3.追加檔案內容 【樣本指令碼】test.sh 使用>>指令向檔案追加內容,原內容將儲存。
#!/bin/bashecho "Raspberry" > test.txtecho "Intel Galileo" >> test.txt
【操作過程】 # 修改許可權,指令碼可執行 chmod u+x test.sh ./test.sh 【檔案內容】 請注意echo指令預設在行尾增加斷行符號(\n),所以此處顯示兩行。 Raspberry Intel Galileo
4.輸入轉移字元 使用-e參數可啟用轉移字元。下面通過echo指令向檔案寫入一個JSON資料包。如果不熟悉JSON格式請參考——【 前端學習——JSON格式詳解】 【樣本指令碼】test-json.sh
#!/bin/bashecho -e "{" > test-json.txtecho -e "\t\"name\":\"xukai871105\"" >> test-json.txtecho -e "}" >> test-json.txt 【說明】 此處用到了兩處轉移字元,\t定位字元,\"雙引號。 【操作過程】 # 修改許可權,指令碼可執行 chmod u+x test-json.sh ./test-json.sh 【檔案內容】 { "name":"xukai871105" } 5.使用變數 上面的指令碼中3處使用了檔案名稱test-json.txt,如果檔案名稱需要修改那麼就需要修改3處,這樣的操作顯得麻煩些,為了簡化操作可以使用變數簡化指令碼。 【樣本指令碼】test-json.sh
#!/bin/bashFILE="test-json.txt"echo -e "{" > $FILEecho -e "\t\"name\":\"xukai871105\"" >> $FILEecho -e "}" >> $FILE 【操作過程】 # 修改許可權,指令碼可執行 chmod u+x test-json.sh ./test-json.sh 【檔案內容】 { "name":"xukai871105" }
6.總結 Linux的技巧還有很多,需要慢慢積累。給自己加個油。