0.前言
本文總結如何使用echo命令向文件中寫入內容,例如使用echo指令覆蓋文件內容,使用echo指令向文件追加內容,使用echo指令往文件中追加制表符。
echo向文件中輸出內容的基本方法是使用IO重定向指令——“>”,默認情況下echo輸出到標准輸出中,使用>指令可重定向輸出到文件中。
1.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/bash
- echo "Raspberry" > test.txt
- echo "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/bash
- echo -e "{" > test-json.txt
- echo -e "\t\"name\":\"xukai871105\"" >> test-json.txt
- echo -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/bash
- FILE="test-json.txt"
- echo -e "{" > $FILE
- echo -e "\t\"name\":\"xukai871105\"" >> $FILE
- echo -e "}" >> $FILE
【操作過程】
# 修改權限,腳本可執行
chmod u+x test-json.sh
./test-json.sh
【文件內容】
{
"name":"xukai871105"
}
6.總結
Linux的技巧還有很多,需要慢慢積累。給自己加個油。