linux中echo命令,在编程中时常使用,在终端进行打印变量时也时常使用,因此笔者作出以下归纳。
 一,功能说明:显示文字。
    语   法:echo [options][字符串]或 echo [--help][--version]
    补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后自动加上换行号。
    参  数:-n 不要在最后自动换行
    -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
--help 显示帮助
--version 显示版本信息
二,echo的其他用法
 (1)输入/输出重定向
  标准输入  stdin -> /proc/self/fd/0  keyboard <
  标准输出  stdout -> /proc/self/fd/1 monitor  >   (默认输出)
  错误输出  stderr -> /proc/self/fd/2 monitor 2>
  两个输出流 (正确信息和错误信息)
  例: ls  /vat >> /tmp/right 2>> /tmp/err
       正确信息输入到/tmp/right中,错误信息输入到/tmp/err

linux中echo的使用_位桶


 (2)结合>及>>的使用
 &>合并信息输出流 不支持&>>
 > 输出重定向会覆盖原内容
 >>追加信息
 例:
  echo “内容” >> 可以在文件尾部追加一行
 
  注:set -C 打开避免覆盖重定向功能
      set +C 关闭避免覆盖重定向功能
  然而echo “内容” >| 如果就是想覆盖原文件,可以使用此法


(3)结合管道使用
  管道  把前有一个输出结果当成第二个输入进行执行
   例:
    echo “123” |passwd --stdin redhat 
    默认passwd是从键盘上接受输入,而--stdin可以接受前一个内容,此处可以设置用户redhat的密码为123
   例:
    ls -l |tee /tmp/1.out |more  tee相当于一个丁字路口
    可以将ls -l的内容输入到/tmp/1.out文件中,同时也可以分页显示在屏幕上

linux中echo的使用_休闲_02

linux中echo的使用_位桶_03


 (4)其他使用
 自定义输出重定向 ( 将多个输出都保存至同一个文件)
   例:
     exec 3>> /tmp/all.out  相当于一直打开此文件(数字3可以是0-9)
     ls -l >&3
     ls /var >&3
     exec 3>&-关闭自定义重定向
     打开/tmp/all.out文件,将ls -l的内容及ls /var输入到/tmp/all.out文件,最后关闭文件。
 
    > /dev/null丢弃数据 (/dev/null 位桶)
   例:
    grep ”user“ /etc/psaswd &>/dev/null 将输出结果丢弃