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

还是老惯例说说事情的起因,由于最开始对linux下面的各种引号并不是特别敏感,导致有一天我在添加数据库字段的时候出现的错误,当时出现错误的原因是我在最外层使用了单引号进行包裹,然后一句话里面需要转意的地方无法被转意导致了错误。

下面还是从单引号开始介绍起吧

单引号:

为了保护文本不被转换,除了她本身,就是说除去单引号本身之外,在单引号内的所有文本都是原样输出。

echo ‘export‘ 
得到结果export
echo ‘$export‘ 得到结果$export

从这里看到export并没有被执行输出。也没有打印出相关信息

再看一个例子

echo ‘‘‘‘‘‘‘‘得到结果

什么都没有,上面已经提到过了单引号无法输出自己本身.

双引号:

为了包含文字或者函数段,除了本身,反引号内的函数,$开头的变量和\开头的转意字符以外,其余的都可以直接输出

echo "export"
得到结果
export

echo "$export"
得到结果
export

反引号:

重头戏来了 反应号的使用其实比较有趣,反引号可以让被包裹的东西保持函数转换或执行被包裹的语句 让我们直接看例子。

echo "export"
得到结果
export

echo "$export"
得到结果
export

echo "`export`"
得到结果
一大坨export的东西。。

由此可以看出 反引号能把反引起来的部分执行之后 再输出。是不是很厉害呢。

更多的技巧可以再去多多探索一下。

时间: 2024-10-26 08:09:08

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 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