echo命令

来源:互联网 发布:日期提醒软件app 编辑:程序博客网 时间:2024/06/10 03:54

echo命令是用来将一行文本显示到标准输出。一般情况下,它会在显示结果后自动加上一个换行。例如:

iubuntu@ubuntu:~$ echo example
example
iubuntu@ubuntu:~$ 

如果你不想自动换行,可以加参数-n,

iubuntu@ubuntu:~$ echo -n example
exampleiubuntu@ubuntu:~$ 

-E是关闭\的解释,而默认情况就是关闭的。

-e选项是使能\的解释,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
例子:
iubuntu@ubuntu:~$ echo "a\bbcd"
a\bbcd
iubuntu@ubuntu:~$ echo -e "a\bbcd"
bcd
iubuntu@ubuntu:~$ echo -E "a\bbcd"
a\bbcd
iubuntu@ubuntu:~$ 

--help 显示--help然后退出
--version显示 --version然后退出

----------------------------------------------------------------------------------------------------------
特例
----------------------------------------------------------------------------------------------------------
1. 如果要一定要在双引号中显示!,要用\,或在此命令之行使用set +H
iubuntu@ubuntu:~$ echo "hello !"
bash: !": event not found
iubuntu@ubuntu:~$ echo "hello \!"
hello \!
iubuntu@ubuntu:~$ 
2. 在不用引号的情况下,不能在一行的中间使用分号,因为,分号被看成是命令与命令之间的分隔符,在下面的例子echo hello;world被看成两个命令,一个是echo hello,一个是world。所以会报找不到world命令的错。
iubuntu@ubuntu:~$ echo hello;world
hello
No command 'world' found, did you mean:
 Command 'tworld' from package 'tworld' (universe)
world: command not found
iubuntu@ubuntu:~$ 

0 0