您的位置:首页 > 运维架构 > Shell

shell脚本:shell的基本元素-3 简单的echo输出

2015-07-24 22:05 603 查看
echo的任务就是产生输出,可用来提示用户,或者用来产生数据供进一步处理。
原始的echo命令只会将参数打印到标准输出,参数之间以一个空格隔开,并以换行符号(newline)结尾。


$echo this is a test
this is a test


不过随着时间的流逝,有各种版本的echo开发出来。BSD版本的echo看到第一个参数为-n时,会省略结尾的换行符号。例如(下划线符号表示终端画面的光标):


$echo -n "Enter your name: "   显示提示
Enter your name:_   键入数据




system V版本的echo会解释参数里特殊的转义序列,例如\c用来指示echo不要打印最后的换行符号:

$echo -n "Enter your name:  \c"   显示提示
Enter your name: _   键入数据


转义序列可用来表示程序中难以键入或难以看见的字符。echo遇到转义序列时,会打印相应的字符
\a  警示字符,通常是ASCII的BEL字符
\b 退格(Backspace)
\c 输出中忽略最后的换行字符(Newline)。这个参数之后的任何字符,包括接下来的参数,都会被忽略掉(不打印)
\f 清除屏幕(Formfeed)
\n 换行(Newline)
\r 回车(Carriage return)
\t 水平制表符(Horizontal tab)
\v 垂直制表符(Vertical tab)
\\ 反斜杠字符
\0ddd 将字符表示成1到3位的八进制数值
实际编写shell脚本的时候,\a序列通常用来引起用户的注意;\0ddd序列最有用的地方,就是通过送出终端转义序列进行(非常)原始的光标操作,但是不建议这这么做

在树莓派上学习的时候发现转义字符不能用




然后查询了一下 man echo 发现默认反斜杠是不能用的



需要在命令中加入-e启动反斜杠使用



发现还是不能使用,就好奇使用了两个\,即\b



可以了 \b退一格
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell