Linux shell 单引号和双引号
在编写shell脚本的时候经常会用到引号,有些时候却老是忘记单引号和双引号之间的区别,
所以就整理一下供以后脑子不好使了的时候前来复习一下。首先说下他们的共同点: 好像就只有
一个,就是它们都可以用来界定一个字符串,这个没什么好解释的,真正需要记住的是它们区别,
所以经过整理后,它们的区别主要包括:
1)、单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原
封不动的使用,唯一需要注意的点是不允许引用自身;
2)、双引号属于弱引用,它会对一些被引起来的字符进行特殊处理,主要包括以下情况:
1:$加变量名可以取变量的值 ,比如:
[root@localhost ~]# echo '$PWD'
$PWD
[root@localhost ~]# echo "$PWD"
/root
2:反引号和$()引起来的字符会被当做命令执行后替换原来的字符,比如:
[root@localhost ~]# echo '$(echo hello world)'
$(echo hello world)
[root@localhost ~]# echo "$(echo hello world)"
hello world
[root@localhost ~]# echo '`echo hello world`'
`echo hello world`
[root@localhost ~]# echo "`echo hello world`"
hello world
3:当需要使用字符($ ` " \)时必须进行转义,也就是在前面加\ ;
[root@localhost ~]# echo '$ ` " \'
$ ` " \
[root@localhost ~]# echo "\$ \` \" \\"
$ ` " \
备注:/bin/sh -> bash,版本:4.2.46 (2016-06-21 14:21:46)
作者:潘洪银
地址:http://www.cnblogs.com/panhongyin
Linux shell 单引号和双引号的更多相关文章
- (转)linux shell单引号、双引号及无引号区别
原文:http://blog.csdn.net/woshizhangliang999/article/details/50132265 3.描述linux shell中单引号.双引号及不加引号的简单区 ...
- shell 单引号以及双引号
#!/bin/bash a= echo '$a' echo "$a" your_name='runoob' str="Hello, I know you are \&qu ...
- linux shell 单引号 双引号 反引号的区别
一.单引号和双引号 首先, 单引号和双引号,都是为了解决中间有空格的问题. 因为空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行就会报错.为 ...
- linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)
tips: ============================= IFS - LINUX字段分隔符,内部字段分隔符 IFS(Internal Field Seperator)在Linux的she ...
- linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 因为空格在Linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错.为了避免 ...
- linux shell中,单引号、 双引号,反引号(``),$()的区别
一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行会报错.为了避免这 ...
- Linux Shell基础 单引号、双引号、反引号、小括号和大括号
单引号和双引号 单引号和双引号用于变量值出现空格时将字符用引号括起来. 二者的主要区别在于, 被单引号括起来的字符都是普通字符,就算特殊字符也不再有特殊含义: 被双引号括起来的字符中,"$& ...
- shell中的括号(小括号,中括号,大括号)及单引号、 双引号,反引号(``)
一.小括号,园括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号, ...
- linux 中的单引号 和双引号有什么区别吗
单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符 ,而不会有特殊符号.我们以底下的例子做说明:假设您定义了一个变量, name=VBird ,现在想以 name 这个 ...
随机推荐
- 我的Java开发学习之旅------>Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法
今天用ObjectOutputStream和ObjectInputStream进行对象序列化话操作的时候,报了java.io.EOFException异常. 异常代码如下: java.io.EOFEx ...
- POJ 3714 Raid 近期对点题解
版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/.未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...
- CodeIgniter底层数据库类继承关系
1.CI_DB_mysql_driver 继承 CI_DB, CI_DB这个类是不存在的,每次调用文件中~/CodeIgniter_2.1.3/system/database/DB.php函数&am ...
- iOS 9 Safari广告拦截插件
相对于谷歌对广告拦截的禁止,苹果与之态度截然相反,继Mac版Safari加入广告拦截工具之后,即将到来的iOS9对Safari也引入了内容拦截插件-Content Blocker,并且开发者可以使用最 ...
- ASP.NET 4.0 页面 ValidateRequest="false" 失效不起作用
当ASP.NET 2.0升级到 ASP.NET 4.0后,页面的 ValidateRequest="false" 不起作用. 因为 ASP.NET 4.0 请求验证被提前到IHtt ...
- SQL Server 2008R2 代理服务-开启
,点击开始菜单-所有程序-SQLServer2008R2-配置工具-SQLServer配置管理器 2,选择SQLServer服务 3,找到SqlServer代理(MSSQLSERVER),双击或右键选 ...
- 高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站)
高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站) 一.总结 一句话总结:查看下面这些网站用户推荐的 知乎:比如 小众软件 site:zhihu.com 简书:查看你需要的用户推荐 ...
- rand()与srand()
1.不用srand()的话 两次运行程序产生的随机数序列相同 2.用srand() 两次运行程序产生的随机数则不同 示例程序: #include<iostream> #include< ...
- mysql修改初始密码
通过MySQL命令行,可以修改MySQL数据库的密码,下面就为您详细介绍该MySQL命令行,如果您感兴趣的话,不妨一看. 格式:mysqladmin -u用户名 -p旧密码 password 新密码 ...
- ACM学习历程—CodeForces 176B Word Cut(字符串匹配 && dp && 递推)
Description Let's consider one interesting word game. In this game you should transform one word int ...