前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell脚本编程之终端打印

shell脚本编程之终端打印

作者头像
小小科
发布2018-05-04 15:37:54
7530
发布2018-05-04 15:37:54
举报
文章被收录于专栏:北京马哥教育北京马哥教育

echo是用于终端打印的操作。默认情况下,echo在每次调用后添加一个换行符。 下面三条命令输出一样

html] view plain copy

echo "hello world!"

echo 'hello world!'

echo hello world!

看起来加双引号,单引号或不加引号用法类似,但各有一些特殊用途和副作用。 如果你想打印出如下内容: hello world!"how are you?" 使用命令:

[html] view plain copy

echo "hello world! "how are you?""

echo hello world! "how are you?"

得到的结果都是: hello world! how are you? 使用如下命令得到预期结果:

[html] view plain copy

echo 'hello world! "how are you?"'

echo "hello world! \"how are you?\""

所以,<1>.使用单引号会直接打印出单引号里面内容,使用双引号时打印特殊字符需要使用转义字符来转义,使用双引号和不使用引号作用类似。 用下面命令输出用户目录:

[html] view plain copy

echo "My home is $HOME"

echo 'My home is $HOME'

得到结果:

[html] view plain copy

My home is /home/allen

My home is $HOME

所以,<2>,使用单引号的echo时,shell不会对单引号中的变量求值,而是照原样显示。 如下命令:

[html] view plain copy

echo "Hello world!;date"

echo Hello world!;date

结果为:

[html] view plain copy

Hello world!;date

Hello world!

Wed Apr 2 10:47:40 CST 2014

所以,<3>, 没有使用双引号时分号后面会被认作一个命令执行,在bash中,每个命令或命令序列是通过;或换行符来分隔的。

原文:blog.csdn.NET/gentleliu。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档