0.前言

    本文总结如何使用echo命令向文件中写入内容,例如使用echo指令覆盖文件内容,使用echo指令向文件追加内容,使用echo指令往文件中追加制表符。

    echo向文件中输出内容的基本方法是使用IO重定向指令——“>”,默认情况下echo输出到标准输出中,使用>指令可重定向输出到文件中。

 

1.echo指令基本用法

【1】 Linux官方用户手册——echo指令

【2】输入指令获得帮助

sudo echo --help

        返回内容如下

[plain]  view plain  copy

 

  1. 用法:echo [短选项]... [字符串]...  
  2. 或:echo 长选项  
  3.   
  4. 将 STRING 回显到标准输出。  
  5.   
  6.   -n 不尾随换行符  
  7.   -e 启用解释反斜杠的转义功能  
  8.   -E 禁用解释反斜杠的转义功能(默认)  
  9.       --help 显示此帮助信息并退出  
  10.       --version 显示版本信息并退出  
  11. 若-e 可用,则以下序列即可识别:  
  12.   \\    反斜杠  
  13.   \a    响铃声  
  14.   \b    退格  
  15.   \c    不再产生新的输出  
  16.   \e    转义符    
  17.   \f    换页  
  18.   \n    新行  
  19.   \r    回车  
  20.   \t    水平制表符  
  21.   \v    竖直制表符  
  22.   \0NNN   字节数以八进制数 NNN (1至3位)表示  
  23.   \xHH    字节数以十六进制数 HH (1至2位)表示  

 

2.覆盖文件内容

    【示例脚本】test.sh

    使用>指令覆盖文件原内容并重新输入内容,若文件不存在则创建文件。

#!/bin/bash 
  
 
  

    echo "Raspberry" > test.txt

    【操作过程】

# 修改权限,脚本可执行

chmod u+x test.sh     
  
 
  

    ./test.sh

    【文件内容】

Raspberry

 

3.追加文件内容

    【示例脚本】test.sh

    使用>>指令向文件追加内容,原内容将保存。

[plain]      
1. #!/bin/bash  
2. echo "Raspberry" > test.txt  
3. 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

[html] 
1. #!/bin/bash  
2. echo -e "{" > test-json.txt  
3. echo -e "\t\"name\":\"xukai871105\"" >> test-json.txt  
4. 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

[plain] 
1. #!/bin/bash  
2. FILE="test-json.txt"  
3. echo -e "{" > $FILE  
4. echo -e "\t\"name\":\"xukai871105\"" >> $FILE  
5. echo -e "}" >> $FILE

    【操作过程】

# 修改权限,脚本可执行

chmod u+x test-json.sh     
     
 
     

       ./test-json.sh   
     
 
   

          【文件内容】 
    
 
    

      { 
    
 
    

           "name":"xukai871105" 
    
 
    

      }