Shell编程 单引号双引号反引号的区别

原文连接点击这里

促使我想写这个系列的文章,是因为看到总有人提到相同的问题,犯相同的错误,曾经我也是这么过来的,不忍心看到后面还有人经常这么曲折的过来

先了解下,在bash脚本中,有三种引号

  1. 单引号 ’
  2. 双引号 "
  3. 反引号 `

单引号
   两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思.
双引号
   两个双引号包围起来的字符串,部分特殊字符将起到它们的作用.
   这些特殊字符有: 美元符$, 反斜杠, 反引号, 感叹号!.
反引号
   两个反引号包围起来的字符串,将作为命令来运行,
   执行的输出结果作为该反引号的内容,称为命令替换,
   它有另一种更好的写法: $(command)

   我们来看几个例子,更直接的了解这三种引号的特性.


  1. 美元符$ 在双引号中的$ , 将发生变量引用, 而在单引号中的$, 将保留它的字面意思
$ echo "$JAVA_HOME"
D:\soft\jdk

$ echo '$JAVA_HOME'
$JAVA_HOME
  1. 反斜杠\ 在双引号中的, 将转义它后面的字符,使其具有特殊意义或者失去原来的特殊意义, 在单引号中的, 将保留它的字面意思
$ echo "\$JAVA_HOME"
$JAVA_HOME

$ echo '\$JAVA_HOME'
\$JAVA_HOME

双引号中的\,后面跟着$ , 这里发生了转义,使得$失去特殊意义, 变成普通字符.

  1. 反引号与其他两种引号的不同: 反引号包围起来的字符串将被运行,取其结果
$ echo 'date'
date

$ echo "date"
date

$ echo `date`
2019年09月24日, 周二 10:43:18
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值