免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1569 | 回复: 0
打印 上一主题 下一主题

echo [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-23 16:16 |只看该作者 |倒序浏览


shell 的主要功能是对您的命令进行解释,这样您就可以与 Linux 系统进行交互。在 Linux(以及 UNIX®)系统中,命令具有一个命令名称,以及选项参数。某些命令既没有选项,也没有参数,而另一些命令可能只具有其中之一。
如果一行代码中包含一个 # 字符,那么该行中的所有其他字符都可以被忽略。因此 # 字符可能表示一个注释以及一个根提示,这可以从上下文中看出来。
Echo
echo 命令将它的参数输出(或回传)到终端,如清单所示。
清单. 回传示例
[ytz@happy ~]$ echo Word
Word
[ytz@happy ~]$ echo A phrase
A phrase
[ytz@happy ~]$ echo Where     are   my   spaces?
Where are my spaces?
[ytz@happy ~]$ echo "Here     are   my   spaces." # plus comment
Here     are   my   spaces.
在清单的第三个示例中,所有额外的空间都被压缩到输出的单个空间中。为了避免这种情况,需要使用双引号(")或单引号(')将字符串括起。Bash 使用空格,比如空白、制表符和换行符,来将输入行分离到标记(token)中,后者随后被传递给命令。使用引号引用字符串将保留多余的空格并将完整的字符串作为一个单一标记。在上面的示例中,命令名称之后的每一个标记都是一个参数,因此我们具有的参数分别为 1、2、4 和 1。
echo 命令包含两个选项。echo 通常会在输出的末尾加一个拖尾换行符。使用 -n 选项可以禁用这个行为。使用 -e 选项可以使某些反斜杠转义字符具有特殊的含义。其中一些如表所示。
表.Echo 和转义字符
转义序列
作用
\a
警告 (bell)
\b
退格
\c
禁用拖尾换行(与 -n 选项作用相同)
\f
换页(在视频显示中清空屏幕)
\n
换行
\r
回车
\t
水平制表符
转义和续行
在 bash 中使用反斜杠存在一个小问题。当未使用引号引用反斜杠字符(时),将作为一个转义来表示 bash 本身,用于保留以下字符的字面含义。这对于特殊的 shell 元字符是非常必要的,我们将在稍后讨论。这条规则有一个例外:反斜杠后跟一个换行符将致使 bash 合并这两个字符并将字符序列作为一个续行请求处理。这样做可以方便地将比较长的行断开,特别是在 shell 脚本中。
要使用 echo 命令或众多其他使用类似转义控制字符的命令来正确地处理上述字符序列,必须使用引号将转义序列括起,或作为引用字符串的一部分,除非您使用了另一个反斜杠,以使 shell 为命令保留一个反斜杠。下面的清单展示了反斜杠的各种使用示例。
清单. 更多 echo 示例
                               
[ytz@happy ~]$ echo -n No new line
No new line[ytz@happy ~]$ echo -e "No new line\c"
No new line[ytz@happy ~]$ echo "A line with a typed
> return"
A line with a typed
return
[ytz@happy ~]$ echo -e "A line with an escaped\nreturn"
A line with an escaped
return
[ytz@happy ~]$ echo "A line with an escaped\nreturn but no -e option"
A line with an escaped\nreturn but no -e option
[ytz@happy ~]$ echo -e Doubly escaped\\n\\tmetacharacters
Doubly escaped
        metacharacters
[ytz@happy ~]$ echo Backslash \
> followed by newline \
> serves as line continuation.
Backslash followed by newline serves as line continuation.
注意,bash 在您输入包含不匹配引号的行时显示了一个特殊的 提示 (>)。您的输入字符串继续输入到下一行并包含一个换行符。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/110576/showart_2185222.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP