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的技巧還有很多,需要慢慢積累。給自己加個油。