shell命令之echo命令详解

  • 显示普通字符串:
#带双引号不带双引号输出的结果一致,双引号可省略
echo "It is a test"
echo It is a test    
  • 显示转义字符:
echo "\"It is a test\""

输出如下:

"It is a test"
  • 显示变量:
    read 命令一个一个词组地接收输入的参数,每个词组需要使用空格进行分隔;如果输入的词组个数大于需要的参数个数,则多出的词组将被作为整体为最后一个参数接收。
    测试文件 test.sh 代码如下:

    read firstStr secondStr
    echo "第一个参数:$firstStr; 第二个参数:$secondStr"
    

    输出结果:

    sh test.sh 
    一 二 三 四
    第一个参数:一; 第二个参数:二 三 四
    
  • 显示换行:

    echo -e "OK! \n" # -e 开启转义
    echo "It it a test"
    

    输出结果:

    OK!
    
    It it a test
    
  • 不显示换行:

    #!/bin/sh
    echo -e "OK! \c" # -e 开启转义 \c 不换行
    echo "It is a test"
    

    输出结果:

    OK! It is a test
    
  • 显示结果定向至文件:

    echo "It is a test" > myfile
    
  • 原样输出字符串,不进行转义或取变量(用单引号):

    echo '$name\"'
    

    输出结果:

    $name\"
    
  • 显示命令执行结果:

    echo `date`  #注意这里使用的是反引号 `, 而不是单引号 '。
    

    输出结果:

    Thu Jul 24 10:08:46 CST 2014  
    
  • echo输出字符串总结:

    能否引用变量 能否引用转移符 能否引用文本格式符(如:换行符、制表符)
    单引号
    双引号
    无引号
  • 补充说明:

    1. echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
    2. echo相关参数说明如下:
    参数:
    -n 不要在最后自动换行    
    -e 打开反斜杠ESC转义。
    开启转义后,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:           
    \a 发出警告声;           
    \b 删除前一个字符;           
    \c 最后不加上换行符号;           
    \f 换行但光标仍旧停留在原来的位置;           
    \n 换行且光标移至行首;           
    \r 光标移至行首,但不换行;           
    \t 插入tab;           
    \v 与\f相同;           
    \\ 插入\字符;           
    

推荐阅读更多精彩内容

  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 2,089评论 1 14
  • 基础 头文件 #!/bin/bash 或者#!/bin/sh #!约定的标记,如IOS的Import 执行文件时需...
    ZMJun阅读 446评论 1 2
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 750评论 0 1
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 1,607评论 0 6
  • Shell脚本语言学习一Shell脚本语言学习三 Shell脚本语言 echo命令? 显示普通字符串脚本代码: ...
    SimpleBK阅读 104评论 0 1