shell脚本编程之终端打印

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。

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2016-10-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏柠檬先生

jquery mobile 移动web(5)

有序列表   <div data-role="content">     <ol data-role="listview" data-theme="...

22150
来自专栏十月梦想

Vue组件参数校验和props特性

其实我们可以在组件中把这个props换成一个对象,看到上述代码,type可以为一个数组,来判断这个传递的数据的类型,不符合则报错,required表示这个参数必...

21810
来自专栏编程

如何用Vim提高开发效率

背景 虽然笔者是Android开发工程师,但也接触过各种IDE(不限于Android开发)。不同的IDE往往都有不同的快捷键,我们总不能对每种IDE都进行配置吧...

25480
来自专栏沈唁志

php中删除html标签和标签内内容的方法

27230
来自专栏阮一峰的网络日志

CSS Modules 用法教程

学过网页开发就会知道,CSS 不能算编程语言,只是网页样式的一种描述方法。 为了让 CSS 也能适用软件工程方法,程序员想了各种办法,让它变得像一门编程语言。从...

29750
来自专栏搞前端的李蚊子

echarts图表里label文字过长换行的方法

在做一些图标时,有时会出现显示文字过长的问题,需要将其按照指定的字数换行,像下图这样 ? 而echarts没有提供换行的方法,但是可以使用fomatter方法进...

36870
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统(83)-Easyui Datagrid 行内编辑扩展

这次我们要从复杂的交互入手来说明一些用法,这才能让系统做出更加复杂的业务,上一节讲述了Datagird的批量编辑和提交 本节主要演示扩展Datagrid行内...

50590
来自专栏java达人

jsp中的JSTL与EL表达式用法及区别(二)

JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、whe...

36580
来自专栏梦魇小栈

面试分享:2018阿里巴巴前端面试总结(题目+答案)

最开始的思路是用定时器实现,最后没有想的太完整,面试官给出的答案是用requestAnimationFrame。

14730
来自专栏河湾欢儿的专栏

less

less的编译有两大类 第一类:基于node环境编译less 第二类:基于浏览器环境 第一类

8820

扫码关注云+社区

领取腾讯云代金券