[转帖]Linux shell 单引号和双引号

linux,shell,单引号,双引号 · 浏览次数 : 0

小编点评

**共同点:** * 它们都用于界定字符串。 * 它们都可以使用在字符串中。 **区别:** **1)单引号** * 忽略所有被引起来的字符的特殊处理。 * 被引用起来的字符会被原封不动的使用。 * 不允许引用自身。 **2)双引号** * 对一些被引起来的字符进行特殊处理。 * 主要包括以下情况: * `$`加变量名可以取变量的值。 * 反引号和`$()`引起来的字符会被当做命令执行后替换原来的字符。 * 当需要使用字符(` $ "" \)时必须进行转义。 **总结:** * 在生成字符串时,需要使用单引号或双引号,但必须注意区分它们的用途。

正文

https://www.cnblogs.com/airoot/p/15324883.html

 

在编写shell脚本的时候经常会用到引号,有些时候却老是忘记单引号和双引号之间的区别,所以就整理一下供以后脑子不好使了的时候前来复习一下。首先说下他们的共同点: 好像就只有一个,就是它们都可以用来界定一个字符串,这个没什么好解释的,真正需要记住的是它们区别,所以经过整理后,它们的区别主要包括:

1)、单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原封不动的使用,唯一需要注意的点是不允许引用自身;

2)、双引号属于弱引用,它会对一些被引起来的字符进行特殊处理,主要包括以下情况: 

  1:$加变量名可以取变量的值 ,比如:

 
autoit
[root@localhost ~]# echo '$PWD'
  $PWD  

[root@localhost ~]# echo "$PWD"
    /root 
 

  2:反引号和$()引起来的字符会被当做命令执行后替换原来的字符,比如:

 
autoit
[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:当需要使用字符($  `  "  \)时必须进行转义,也就是在前面加\ ;

elixir
[root@localhost ~]# echo '$ ` " \'
      $ ` " \
[root@localhost ~]# echo "\$ \` \" \\"
      $ ` " \

与[转帖]Linux shell 单引号和双引号 相似的内容:

[转帖]Linux shell 单引号和双引号

https://www.cnblogs.com/airoot/p/15324883.html 在编写shell脚本的时候经常会用到引号,有些时候却老是忘记单引号和双引号之间的区别,所以就整理一下供以后脑子不好使了的时候前来复习一下。首先说下他们的共同点: 好像就只有一个,就是它们都可以用来界定一个字

[转帖]Linux Shell sort排序常用命令

https://www.jianshu.com/p/75c69236963f 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。 [rocrocket@rocrocket programming]$ ca

[转帖]redis集群批量删除模糊key shell脚本

1. 命令删除: 1. 1批量删除Key Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作 redis-cli keys "*" | xargs redis-cli del //如果redis-cl

[转帖]linux-shell总结(没事一看)

https://blog.51cto.com/wangaimin/1895607 !脚本执行与调试 1、绝对路径执行,要求文件有执行权限 2、以sh命令执行,不要求文件有执行权限 3、.加空格或source命令执行,脚本将在当前shell中执行 4、检查脚本语法 bash -v test.sh 5、

[转帖]Linux shell 按行循环读入文件常用代码如下:

Linux shell 按行循环读入文件常用代码如下: #/bin/bash printf "*************************************\n" echo " cat file whiel read line" cat test.txt |while read line

[转帖]Linux Shell 脚本的 10 个有用的“面试问题和解答”

http://blog.itpub.net/31545813/viewspace-2926667/ Linux 的浩瀚无垠,使人总能每次都提交与众不同的内容。这些内容不仅对他们的职业生涯很有用,同时也让他们增长知识。在此,我们就尝试这么去做,至于能取得多大的成功,就由我们的读者朋友们来判断吧。 在此

[转帖]linux-shell-命令替换和变量替换

https://www.muzhuangnet.com/show/84054.html 本文摘自PHP中文网,作者步履不停,侵删。 命令替换$() `` 1 Shell 命令替换是指将命令的输出结果赋值给某个变量 Shell 中有两种方式可以完成命令替换,一种是反引号 ,一种是$(),使用方法如下:

[转帖]linux shell中 if else以及大于、小于、等于逻辑表达式介绍

https://www.jb51.net/article/34332.htm 在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下,方便需要的朋友 比如比较字符串、判断文件是否存在及是否可读等,通常用"[]"来表示条件测试。注意:这里的空格很重要。要确保方

[转帖]linux shell 脚本一些主要知识点整理

文章目录 一、/bin/sh 与 /bin/bash 的区别二、vi与vim的区别三、shell变量四、Shell字符串五、Shell函数六、Shell基本运算符1、Shell expr:进行整数计算2、Shell (()):对整数进行数学运算3、Shell let:对整数进行数学运算4、Shell

[转帖]Linux Shell:date日期时间操作

https://www.jianshu.com/p/cc9ebb212a8e 整理Linux Shell脚本中常用的日期操作,给予date命令,主要用法总结 获得当前日期,时间戳,date,date '+%s' 日期解析(字符串转日期,时间戳转日期)date -d 日期格式化输出,date '+%'