linux-单引号、双引号、反引号的区别。

一、单引号和双引号

  单引号和双引号,都是为了解决中间有空格的问题。

  因为空格在Linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错。为了避免这个问题,因此就产生了单引号和双引号。他们的区别在于,单

引号将剥夺其中的所有字符的特殊含义,而双引号中的‘$‘(参数替换)和‘`‘(命令替换)是例外。所以,两者基本上没有什么区别,除非在内容中遇到了参数替换符$和命令替换符

`。

所以下面的结果:
num=3
echo ‘$num’
$num
echo “$num”
3
所以,如果需要在双引号””里面使用这两种符号,需要用反斜杠转义。

二、反引号``

  这个东西的用法,和$()是一样的。在执行一条命令时,会先将其中的 ``,或者是$() 中的语句当作命令执行一遍,再将结果加入到原命令中重新执行。

  例如:echo `ls`会先执行 ls 得到xx.sh等,再替换原命令为:echo xx.sh最后执行结果为xx.sh那么,平时我们遇到的把一堆命令的执行结果输出到一个变量中,需要用这个

命令替换符括起来,也就可以理解了。

时间: 2024-10-16 11:15:03

linux-单引号、双引号、反引号的区别。的相关文章

shell 脚本中双引号 单引号 反引号 的区别

转自:http://blog.csdn.net/iamlaosong/article/details/54728393 最近要编个shell脚本处理数据,需要检测数据文件是否存在,文件名中包含日期,所以需要生成最近几天的日期,以便检测文件是否存在,看下面的脚本中如何使用双引号.单引号.反引号: OPDATE=`date -d '-1 day' +%Y%m%d` for i in $(seq 10) do FILEDATE=`date -d "-$i day" +%Y%m%d` echo

修改了medoo文件,将SQL语句双引号改为反引号。

<?php /*!  * Medoo database framework  * http://medoo.in  * Version 0.9.6  *   * Copyright 2014, Angel Lai  * Released under the MIT license  */ class medoo {     protected $database_type = â€˜mysql‘;     // For MySQL, MariaDB, MSSQL, Sybase, Postg

linux单、双网卡配置以及配错

在所有的机器配置IP的时候,能用setup设置的话会更加简便,不能的时候再编辑配置文件进行配置. A.一个网卡的eth0配置ip地址: vi /etc/sysconfig/network-scripts/ifcfg-eth0: DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.20 GATEWAY=192.168.1.1 NETMASK=255.255.255.0 ----------------------------------

Shell中的单引号(‘)双引号(”)和反引号(&#183;)

在bash中,$.*.?.[.].'.".`.\.有特殊的含义.类似于编译器的预编译过程,bash在扫描命令行的过程中,会在文本层次上,优先解释所有的特殊字符,之后对转换完成的新命令行,进行内核的系统调用. 其中,反引号类似于函数调用,而不仅仅是简单的文本替换及匹配. 命令行中,被单引号引用的部分,其中所有的特殊字符按照普通字符解释: 双引号引用的部分,仅解释$(美元符号).\(\n \t除外).`(反引号),解释后的文本仅按照普通文字处理(同单引号). 反引号相当于命令替换,引用的部分优先执行

Unix Shell中单引号、双引号字符、反斜杠、反引号的使用

在执行shell脚本的时候,shell将会对脚本中的行进行解释,然后执行:对于一些特殊处理的句子,我们可以使用引号或者反斜线来避免shell解释执行之.如下,当在命令行中输入:echo *child.sh env_variable father.sh param.sh profile.sh 125017.sh默认会将当前文件夹下的所有文件都打印出来,但我们需要的是输出一个“*”.可以以这样的方式让shell不去解释星号(*):echo "*"* 下面是shell引用类型--------

linux 里的`反引号

Shell中可以将数字或字符直接赋予变量,也可以将Linux命令的执行结果赋予变量,如下: (1) $ count=9           #将数字赋予变量count (2) $ name="ming"  #将字符赋予变量name (3) $ listc=`ls -la`     #将Linux命令赋予listc,listc的值就是该命令的执行结果 反引号的作用 反引号的作用就是将反引号内的Linux命令先执行,然后将执行结果赋予变量. 原文地址:https://www.cnblogs

Linux Shell 中的反引号,单引号,双引号

反引号 反引号位 (`) 位于键盘的Tab键的上方.1键的左方.注意与单引号(')位于Enter键的左方的区别. 在Linux中起着命令替换的作用.命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置. 如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中. [[email protected] sh]# echo The date is `date` The date is 2016年 08月 7日 星期日  19:25:43 CST 单引号,双

linux 单引号,双引号,反引号的小总结。

还是老惯例说说事情的起因,由于最开始对linux下面的各种引号并不是特别敏感,导致有一天我在添加数据库字段的时候出现的错误,当时出现错误的原因是我在最外层使用了单引号进行包裹,然后一句话里面需要转意的地方无法被转意导致了错误. 下面还是从单引号开始介绍起吧 单引号: 为了保护文本不被转换,除了她本身,就是说除去单引号本身之外,在单引号内的所有文本都是原样输出. echo 'export' 得到结果export echo '$export' 得到结果$export 从这里看到export并没有被执

Linux Shell中的反引号,单引号,双引号

反引号位 (`) 位于键盘的Tab键的上方.1键的左方.注意与单引号(')位于Enter键的左方的区别. 在Linux中起着命令替换的作用.命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置. 如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中. [[email protected] sh]# echo The date is `date` The date is 2011年 03月 14日 星期一 21:15:43 CST 单引号.双引号用于

Linux Shell中反引号``, 单引号&#39;&#39;, 双引号&quot;&quot;, $混用总结

用一个小程序(argv.py)来演示下: #!/usr/local/bin/python3 import sys print('sys.argv has these', len(sys.argv), 'elements:', sys.argv) 运行与结果: # 首先是赋予执行权限 chmod 755 argv.py #1 一个空格一个命令行参数 ./argv.py I love Shell scripting. sys.argv has these 5 elements: ['./argv.p