学以致用十九-----shell脚本之引号
shell脚本中引号也是有讲究的。
可以分为单引号‘ ’,双引号“ ”和 反引号 ` `
具体区别来看一个例子

输出结果
可得出结论
1、 单引号括起来的字符都作为普通字符出现,如第4,7,10,13,16,19,22行
值得一提的是第19行,执行结果并非预期的 My home dictory is : ‘$HOME’ 而是 My home dictory is :/root
原因是执行的时候My home dictory is : ‘$HOME’ 这里还有单引号,$HOME继续作为普通字符串输出,于是进一步分解为 My home dictory is :$HOME,执行系统变量,得到最终结果 My home dictory is :/root
步骤:‘ My home dictory is : ‘$HOME’ ‘ -----------> My home dictory is : ‘$HOME’ ---------> My home dictory is :$HOME ------------> My home dictory is :/root
2、由双引号括起来的字符,除$ ,反引号 `` 和反斜线 \ (反斜线没有在这举例,后续举例)保留其特殊功能外,其余字符均作为普通字符对待。
如第5,8,11行
第11行, 单引号不保留其特殊功能,因此单引号被输出
第17行,反引号生效,执行$HOME的时候报错,提示 /root是一个目录
第20行,同样是单引号失去其特殊功能,$保留其特殊功能,因此结果是 My home dictory is :'/root'
3、反引号括起来的字符串会被shell解释为命令,在执行的时候会先执行该命令。因此第17行会报错
4、反斜线,转义字符,把特殊字符变成普通字符

注意双引号中,反斜线保留其特殊作用时的位置。
学以致用十九-----shell脚本之引号的更多相关文章
- 学以致用十八-----shell脚本之基础概念及变量
1.脚本脚本,说了很多年的脚本,一直都没怎么弄明白为什么叫脚本,还仅仅是script翻译过来的?今天再查看翻译,查阅了资料,对脚本有了个新的认识. script也叫剧本,脚本---剧本,像剧本一样,让 ...
- 学习笔记:CentOS7学习之二十:shell脚本的基础
目录 学习笔记:CentOS7学习之二十:shell脚本的基础 20.1 shell 基本语法 20.1.1 什么是shell? 20.1.2 编程语言分类 20.1.3 什么是shell脚本 20. ...
- Shell脚本中单引号(‘)和双引号(“)的使用区别
在Linux操作系统上编写Shell脚本时候,我们是在变量的前面使用$符号来获取该变量的值,通常在脚本中使用”$param”这种带双引号的格式,但也有出现使用'$param'这种带引号的使用的场景,首 ...
- 学以致用二十四-----shell脚本中的列表及space
1.接触列表的概念是在pyhon中,殊不知在shell中也是有列表的. 如: 结果 列表的下标和python中一样,也是以0开头 注意 list 和list2 的区别 一个是用括号括起来,一个是用 ...
- Shell脚本中单引号(‘)和双引号(“)的使用区别[转载]
shell可以识别4种不同类型的引字符号: 单引号字符' 双引号字符" 反斜杠字符\ 反引号字符` 1. 单引号 ( '' ) # grep Susan phonebook Susan Go ...
- shell基础篇(十)shell脚本的包含
前记 写到这里:shell中基础差不多已经讲完了.希望你已经对shell有了一个基本了解.你可能跃跃欲试,要写一些程序练习一下.这会对你很有好处.建议大家去chinaunix去学习:我是li0924. ...
- shell脚本双引号、大括号、if语句注意事项
1.双引号的问题 变量用双引号括起来的意义 如果变量不用双引号括起来,比如echo $a,那么隐含的意义就是,把$a变量的字符串,按照空格.制表符.换行符等符号来分割开.然后把这些分割后的每一项再按 ...
- 学以致用二十三-----shell脚本里调用脚本
当前脚本可以调用其他目录下的脚本,并可以直接使用其他脚本里的函数. 首先查看脚本目录 执行net_set.sh,同时执行colos.sh 并可直接使用 color.sh中的函数 net_set.sh ...
- Linux 命令详解(十)Shell脚本的数组详解
1.数组定义 [root@bastion-IDC ~]# a=( ) [root@bastion-IDC ~]# echo $a 一对括号表示是数组,数组元素用“空格”符号分割开. 2.数组读取与赋值 ...
随机推荐
- Resilience4j usage
1. pom 1) normal <dependency> <groupId>io.github.resilience4j</groupId> <artifa ...
- Jvm的体系结构
1.垃圾回收器 垃圾回收器(又称为gc):是负责回收内存中无用的对象(好像地球人都知道),就是这些对象没有任何引用了,它就会被视为:垃圾,也就被干掉了. 2.类装载子系统 一听名字,大家就知道,肯定是 ...
- Titanic缺失数值处理 & 存活率预测
1. kaggle泰坦尼克数据titanic完整下载,原作者良心分享 https://download.csdn.net/download/lansui7312/9936840 2. 缺失值处理 # ...
- 面向对象开发C++快速入门视频教程 C++基础加实战视频教程
课程目录: ├<C++面向对象高级开发(上)> │ ├1.C++编程简介.mp4 │ ├2.头文件与类的声明.mp4 │ ├3.构造函数.mp4 │ ├4.参数传递与返回值.mp4 │ ├ ...
- leetcode56
public class Solution { public IList<Interval> Merge(IList<Interval> intervals) { var le ...
- 多个css样式合并到一个“目录”css文件中
执行访问jsp后发现没有效果 同样的代码,在html中效果对比如下: 具体原因:不清楚,暂时记着~~~在jsp中不支持@import这种css样式的引用
- springmvc controller方法返回值
- Django中的class Meta
元数据 class Meta做为嵌套类,主要目的是给上级类添加一些功能,或者指定一些标准 # 格式化 将返回的结果自定义 def __str__(self) rerurn self.username ...
- spring okhttp3
准备工作 在pom.xml文件中增加以下依赖 <dependency> <groupId>com.squareup.okhttp3</groupId> <ar ...
- java-web的请求和响应机制中的request请求
1 Request对象和Response对象的原理 1.1 都是由服务器创建的 我们使用它 1.2 Request对象 是获取请求消息 response对象是响应 2 request 对象的继 ...