shell脚本中:单引号和双引号的区别

单引号和双引号的区别

前面咱们还留下一个疑问,定义变量时,变量的值能够由单引号' '包围,也能够由双引号" "包围,它们到底有什么区别呢?不妨如下面的代码为例来讲明:web

  1. #!/bin/bash
  2. url="http://c.biancheng.net"
  3. website1='C语言中文网:${url}'
  4. website2="C语言中文网:${url}"
  5. echo $website1
  6. echo $website2

运行结果:
C语言中文网:${url}
C语言中文网:http://c.biancheng.net

以单引号' '包围变量的值时,单引号里面是什么就输出什么,即便内容中有变量和命令(命令须要反引发来)也会把它们原样输出。这种方式比较适合定义显示纯字符串的状况,即不但愿解析变量、命令等的场景。

以双引号" "包围变量的值时,输出时会先解析里面的变量和命令,而不是把双引号中的变量名和命令原样输出。这种方式比较适合字符串中附带有变量和命令而且想将其解析后再输出的变量定义。

个人建议:若是变量的内容是数字,那么能够不加引号;若是真的须要原样输出就加单引号;其余没有特别要求的字符串等最好都加上双引号,定义变量时加双引号是最多见的使用场景。bash

相关文章
相关标签/搜索