码迷,mamicode.com
首页 > 其他好文 > 详细

单引号与双引号区别

时间:2015-04-01 20:23:44      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:单引号与双引号的区别

                             单引号双引号的区别

单引号概念

  可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么.


双引号概念

   把双引号内的内容输出出来,如果内容中有命令、变量,会先把变量、命令解析出结果,然后在输出最终的内容来.

   双引号内命令或变量的写法为`命令或变量`或$(命令或变量).


无引号:

   把内容输出出来,可能不会将含有空格的字符串视为一个整体输出,如果内容中有命令或变量等,会先把变量、命令解析出结果,然后在输出最终的内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用,不过最好用双引号代替.工作中多用双引号,除非你有特殊明确的要求.


单引号实战:

#单引号原内容是什么就输出什么

[root@C66-MoBan ~]# echo ‘today is date‘

today is date 



[root@C66-MoBan ~]# echo ‘today is `date`‘

today is `date`


双引号实战:

双引号不加变量的结果

[root@C66-MoBan ~]# echo "today is date"  

today is date 


双引号内加变量的写法一

[root@C66-MoBan ~]# echo "today is `date`"

today is Wed Apr  1 11:44:17 CST 2015


双引号内加变量的写法二

[root@C66-MoBan ~]# echo "today is $(date)"

today is Wed Apr  1 11:44:39 CST 2015


2、脚本中变量定义后,调用测试


定义一个不带引号的变量

[root@C66-MoBan ~]# oldboy=test 


不带引号显示一个变量解析后的内容

[root@C66-MoBan ~]# echo $oldboy 

test


单引号显示一个变量本身

[root@C66-MoBan ~]# echo ‘$oldboy‘

$oldboy


双引号显示一个变量内容,引号内可以是变量字符串等

[root@C66-MoBan ~]# echo "$oldboy" 

test


3、脚本中定义变量测试

不加引号无法定义

[root@C66-MoBan ~]# oldboy=this is test

-bash: is: command not found


一般应用时,对于变量的定义我们要加双引号

[root@C66-MoBan ~]# oldboy="this is test"

[root@C66-MoBan ~]# echo $oldboy

this is test


4、命令行带空格字符串可以不加引号

[root@C66-MoBan ~]# echo I am oldboy. >>oldboy.txt

[root@C66-MoBan ~]# cat oldboy.txt 

I am oldboy.

[root@C66-MoBan ~]# echo "I am oldboy.">>oldboy.txt

[root@C66-MoBan ~]# cat oldboy.txt 

I am oldboy.

I am oldboy.

虽然不加引号可以追加内容到oldboy.txt中,工作中我们习惯用""号替代

本文出自 “卓越军” 博客,请务必保留此出处http://wxj121.blog.51cto.com/7136845/1627284

单引号与双引号区别

标签:单引号与双引号的区别

原文地址:http://wxj121.blog.51cto.com/7136845/1627284

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!