echo的简单介绍

来源:互联网 发布:阳泉网络电视台 编辑:程序博客网 时间:2024/05/06 14:25

 echo的简单介绍

    echo在linux脚本中使用的比较多,这里介绍一些echo和字符串之间的简单用法。
1、echo + 普通字符串
直接打印该字符串
$ echo abc

输出:abc


2、echo + 变量
打印变量值
$ abc="date"
$ echo $abc

输出:date


3、echo + '普通字符串'
直接打印该字符串
$ echo 'abc'

输出:abc


4、echo + '变量'
认为变量名是普通字符串,直接答应带$的变量
$ echo '$abc'

输出:$abc


5、echo + “普通字符串“
直接打印字符串
$ echo "abc"

输出:abc


6、echo + “变量“
打印变量所存的值,与echo + 变量相同
$ echo "$abc"

输出:date


7、echo + `普通字符串`
执行普通字符串的命令
$ echo `abc`

输出:-bash: abc: command not found


实际上类似在终端执行“abc”,echo此时是打印其输出

8、echo + `变量`
$ echo `$abc`

输出:Tue Nov 23 19:07:49 CST 2004   #执行date的结果



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=192704

 

下面主要用例子说明用法(bash环境下测试)

1)echo显示字符串

普通字符串可以在echo后直接输入字符串,但这样当要输出某些字符如/时会有问题(这种写法的时候/是被当作继行符处理过滤掉的,要输出一个/必须打//,跟c语言printf输出的要求相象),所以一般最好用'string' 或"string"的格式,这样即使是/也可以输出,方便直观。

#echo  hello world
hello world

#echo hello/ world
hello world

#echo hello// world
hello/ world

#echo 'hello// world' 或者: echo "hello// world"
hello// world

2)echo的转义显示: 加上-e参数

输出多行
#echo -e 'hello/nworld'
hello
world

输出ascii字符: echo -e /NNN    (NNN为ascii字符的八进制码号,不符合八进制的将会按照字面意义进行打印)
#echo -e '/61 /62 /101 /141'
1 2 A a

更详细的可以参看下面的参考资料,enjoy!

参考资料

info echoman echo得到的信息:

File: coreutils.info,  Node: echo invocation,  Next: printf invocation,  Up: Printing text

`echo': Print a line of text
============================

   `echo' writes each given STRING to standard output, with a space
between each and a newline after the last one.  Synopsis:

     echo [OPTION]... [STRING]...

   The program accepts the following options.  Also see *Note Common
options::.

`-n'
     Do not output the trailing newline.

`-e'
     Enable interpretation of the following backslash-escaped
     characters in each STRING:

    `/a'
          alert (bell)

    `/b'
          backspace

    `/c'
          suppress trailing newline

    `/f'
          form feed
 
    `/n'
          new line

    `/r'
          carriage return

    `/t'
          horizontal tab

    `/v'
          vertical tab

    `//'
          backslash

    `/NNN'
          the character whose ASCII code is NNN (octal); if NNN is not
          a valid octal number, it is printed literally.

 

============================
echo - manual

ECHO(1)                               FSF                              ECHO(1)

NAME
       echo - display a line of text

SYNOPSIS
       echo [OPTION]... [STRING]...

DESCRIPTION
       NOTE:  your shell may have its own version of echo which will supercede
       the version described here. Please refer to your shell's  documentation
       for details about the options it supports.

       Echo the STRING(s) to standard output.

       -n     do not output the trailing newline

       -e     enable interpretation of the backslash-escaped characters listed
              below

       -E     disable interpretation of those sequences in STRINGs

       --help display this help and exit

       --version
              output version information and exit

       Without -E, the following sequences are recognized and interpolated:

       /NNN   the character whose ASCII code is NNN (octal)

       //     backslash

       /a     alert (BEL)

       /b     backspace

       /c     suppress trailing newline

       /f     form feed

       /n     new line

       /r     carriage return

       /t     horizontal tab

       /v     vertical tab

AUTHOR
       Written by FIXME unknown.

REPORTING BUGS
       Report bugs to <bug-coreutils@gnu.org>.

COPYRIGHT
       Copyright (C) 2002 Free Software Foundation, Inc.
       This is free software; see the source for copying conditions.  There is
       NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
       PURPOSE.

SEE ALSO
       The full documentation for echo is maintained as a Texinfo manual.   If
       the  info  and  echo  programs are properly installed at your site, the
       command

              info echo

       should give you access to the complete manual.

GNU coreutils 4.5.3              February 2003                         ECHO(1)



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=449703