Linux學習筆記——如何使用echo指令向檔案寫入內容

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

    


相關文章