(转)linux shell单引号、双引号及无引号区别
原文:http://blog.csdn.net/woshizhangliang999/article/details/50132265
3.描述linux shell中单引号、双引号及不加引号的简单区别(记时2分钟)
简要总结:
单引号:
可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。
双引号:
把双引号内的内容输出出来;如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来。
不加引号:
不会将含有空格的字符串视为一个整体输出, 如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用。
实例演示:
例1:
[root@oldboy oldboy]# echo '`date`'
#→单引号时看到啥就显示啥
`date`
[root@oldboy oldboy]# echo "`date`"
#→双引号时如果里面是变量,会先把变量解析成具体内容在显示
Sat Oct 29 18:02:59 CST 2011
[root@oldboy oldboy]# echo `date`
#→对于连续的字符串等内容一般不加引号也可,加双引号一般比较保险,推荐
Sat Oct 29 18:03:08 CST 2011
例2:
[root@oldboy ~]# oldboy=testchars #→创建一个变量
[root@oldboy ~]# echo $oldboy #→不加引号,显示一个变量解析后的内容
testchars
[root@oldboy ~]# echo '$oldboy' #→单引号,显示一个变量本身
$oldboy
[root@oldboy ~]# echo "$oldboy" #→双引号,显示一个变量内容,引号内可以是变量、字符串等
testchars
过滤字符串测试:
[root@oldboy ~]# cat >grep.log
testchars
oldboy
[root@oldboy ~]# cat grep.log
testchars
oldboy
[root@oldboy ~]# grep "$oldboy" grep.log
testchars
[root@oldboy ~]# grep '$oldboy' grep.log
[root@oldboy ~]# grep $oldboy grep.log
testchars
[ett@oldboy ~]$ cat >oldboy.log
\"
[ett@oldboy ~]$ cat oldboy.log
\"
[ett@oldboy ~]$ grep '\"' oldboy.log
\"
提示:有关单引号和双引号的区别详细内容请参考《老男孩linux运维实战培训-shell编程精讲》
拓展:awk调用shell变量问题
[ett@oldboy ~]$ ett=123
[ett@oldboy ~]$ awk 'BEGIN {print '$ett'}'
123
[ett@oldboy ~]$ awk 'BEGIN {print "$ett"}'
$ett
[ett@oldboy ~]$ ett='abc'
[ett@oldboy ~]$ awk 'BEGIN {print "$ett"}'
$ett
[ett@oldboy ~]$ awk 'BEGIN {print '$ett'}'
[ett@oldboy ~]$ awk 'BEGIN {print "'$ett'"}'
abc
提示:awk调用shell变量在http://oldboy.blog.51cto.com/2561410/760192一文有体现。
详细描述见:
老男孩linux运维实战培训-单引号和双引号的区别详细说明
老男孩linux运维实战培训-shell编程精讲
(转)linux shell单引号、双引号及无引号区别的更多相关文章
- linux shell 单双引号区别
简要总结: 单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看见的是什么就会输出什么. 双引号: 把双引号内的内容输出出来:如果内容中有命令,变量等,会先把变量,命令解析 ...
- linux shell 单引号 双引号 反引号的区别
一.单引号和双引号 首先, 单引号和双引号,都是为了解决中间有空格的问题. 因为空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行就会报错.为 ...
- Linux Shell编程,双括号运算符(())
双括号运算符是shell非常强大的扩展. 这里简要介绍两种使用方式: 1.条件判断 跟在if.while.until,for等需要逻辑条件的命令后,进行逻辑判断 if(( expr));then … ...
- Linux shell 内部命令与外部命令有什么区别以及怎么辨别
内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- Linux Shell中单引号、双引号、反引号的区别【转载】
linux shell可以识别4种不同类型的引字符号: 单引号字符' 双引号字符" 反斜杠字符\ 反引号字符` 1. 单引号 ( '' )# grep Susan phonebook Sus ...
- linux shell中单引号、双引号、反引号、反斜杠的区别
摘自http://www.jb51.net/article/33495.htm 1. 单引号 ( '' ) # grep Susan phonebook Susan Goldberg 403-212- ...
- Shell中的单引号(‘)双引号(”)和反引号(·)
在bash中,$.*.?.[.].’.”.`.\.有特殊的含义.类似于编译器的预编译过程,bash在扫描命令行的过程中,会在文本层次上,优先解释所有的特殊字符,之后对转换完成的新命令行,进行内核的系统 ...
- shell中的双引号,单引号,反引号
在shell中引号分为三种:单引号,双引号和反引号. 单引号 ‘ 由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释.单引号用于保持引号内所有字 ...
随机推荐
- LibreOJ 6280 数列分块入门 4(分块区间加区间求和)
题解:分块的区间求和比起线段树来说实在是太好写了(当然,复杂度也高)但这也是没办法的事情嘛.总之50000的数据跑了75ms左右还是挺优越的. 比起单点询问来说,区间询问和也没有复杂多少,多开一个su ...
- POJ3233 Matrix Power Series(矩阵快速幂+分治)
Description Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak. ...
- vs2010 does not have a strong name
处理步骤: C:\myWorkSpace\IECG Dev. Tool\Forklift\DbUpgraderDLL\bin\Debug 为dll 所在目录 DbUpgraderDLL.dll为dll ...
- 宏(使用注意事项、主要用途)------c++程序设计原理与实践(进阶篇)
使用宏的时候一定要小心:在c中没有真正有效的方法来避免使用宏,但宏带有严重的副作用,因为宏不遵守通常的c(或c++)作用域和类型规则——它只是一种文本替换. 宏的使用注意事项: 所以宏名全部大写. ...
- 《C#多线程编程实战》2.5 AutoResetEvent
这个有点像是缩小版的mutex 还是很好理解的 相对mutex 使用的范围可能比较小一点. class Program { static AutoResetEvent work = new AutoR ...
- [BZOJ2879][Noi2012]美食节(费用流)
题目描述 CZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节.作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴.他很快就尝遍了美食节所有的美食.然而,尝鲜的欲望是难以满足的.尽管所有的菜品都 ...
- Linux 意外操作后如何进行数据抢救
Linux 意外操作后如何进行数据抢救 在 GUI 中使用 shift + delete 组合键或是 CLI 下使用 rm -rf 删除选项,这个文件并没有从硬盘(或是其它存储设备)上彻底销毁.当 ...
- Python变量类型的强制转换
当我们需要对数据的类型转换时,只需要将数据类型作为函数名即可. 下面给出的函数可以执行数据类型之间的转换,函数返回一个新的对象,表示转换的值 函数格式 使用示例 描述 int(x [,base]) i ...
- MongoDB集群配置笔记
firewall-cmd --query-port=27017/tcp yum install system-config-firewall-tui firewall-cmd --zone=publi ...
- php文件下载方法收藏(附js下载技巧)
function down($url){ header('Content-Description: File Transfer'); header('Content-Type: application ...