相关文章推荐
温柔的跑步鞋  ·  千元档亮度天花板!哈趣K1 ...·  1 年前    · 
朝气蓬勃的沙发  ·  “千万萌宠”急需主人的“一颗文明心” ...·  2 年前    · 
聪明的墨镜  ·  2021款 ...·  2 年前    · 
长情的自行车  ·  未来三年广州拟改造83条城中村 ...·  2 年前    · 
细心的作业本  ·  语言康复学院 专家教授 高立群·  2 年前    · 
Code  ›  【Linux】Shell(Bash)单引号、双引号、不加引号和反引号用法和区别详解_linux shell 单引号_云川之下的博客
shell linux系统 python字符串操作 双引号
https://blog.csdn.net/m0_45406092/article/details/129056037
满身肌肉的扁豆
2 年前
  • 不加引号:不会将含有空格的字符串视为一个整体输出, 如果内容中有变量等,会先把变量解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用。
    不带引号时,默认为字符串赋值,不能带空格,执行会报错 command not found,原理是不带引号表示赋值操作,如果没有空格,那么会误认为是多个命令,而命令又不存在。

  • 单引号:可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。

  • 双引号:把双引号内的内容输出出来;如果内容中有变量,会先把变量解析出结果,然后在输出最终内容来。

    单引号和双引号之分,二者的 主要区别在于,被单引号括起来的字符都是普通字符,就算特殊字符也不再有特殊含义;而被双引号括起来的字符中 “$”、"\“和反引号 是拥有特殊含义的,”$"代表引用变量的值,而反引号代表引用命令。

  • 反引号:如果需要调用命令的输出,或把命令的输出赋予变量,则命令必须使用反引号包含,这条命令才会执行。反引号的作用和 $(命令) 是一样的,但是反引号非常容易和单引号搞混,所以 推荐大家使用 $(命令) 的方式引用命令的输出。

    反引号就是 tab键上面那个符号 。 正如不加引号,默认把命令当做普通字符串,因此加了反引号,就能识别为命令

    [root@EMS3 test]# echo date         #  date被当做字符串,被原封不动的打印了出来
    [root@EMS3 test]# echo `date`        #带反引号
     Thu Feb 16 10:57:06 CST 2023        # 输出日期格式
    

    注意:反引号等价于$()语法,括号是必须的,表示是命令,而不是变量

    [root@localhost ~]# echo $(date)
    2013年 10月 21 日 星期一 18:25:09 CST     #打印出日期
     [root@localhost ~]# echo $date     没有结果,因为不存在date变量,除非你先定义一个
    

    可以直接在终端执行命令,多行命令也能识别,例如先定义一个变量,然后在下一条命令进行引用,也可以再shell脚本中写入多条命令,然后再执行这个脚本进行验证。

    1、有空格,必须加双引号。

    比如 name=zhang san 这样执行就会出现问题,反例

    [root@localhost ~]# name=zhang san 
    -bash: san: command not found       # 报san: command not found,此时san字符串被误识别为命令,而命令又不存在于系统集中
    

    而必须用引号括起来,正例:

    [root@localhost ~]# name="zhang san"  
    [root@localhost ~]# echo $name    #注意:这个打印语法中,变量没有引号等符号,与后文中示例进行区分
    zhang san                         #输出zhang san 
    

    2. 如果输出时使用单引号,则$name原封不动地输出

    [root@localhost ~]# name="zhang san"  
    [root@localhost ~]# echo '$name'
    $name             					    # 注意:此时$符号也被原封不动的打印了出来
    
    [root@localhost ~]# name="zhang san"  
    [root@localhost ~]# echo $name    #注意:这个打印语法中,变量没有引号等符号,与后文中示例进行区分
    zhang san                         #输出zhang san 
    

    3.如果输出时使用双引号,则会输出变量name的值

    [root@localhost ~]# echo "$name"
    zhang san                              # 成功打印
    

    如果被双引号括起来,那么这条命令仍会正常执行:

    [root@localhost ~]# echo "`date`"
    2013年 10月 21 日星期一 18:14:21 CST
    

    也就是说双引号不影响原有的语法

    Shell(Bash)单引号、双引号、不加引号和反引号用法详解

    单引号和双引号作用都是将范围里的所有引用为一个整体可以将特定有含义的字符用引号变为一个整体进行引用反引号是一个命令替换符号,可以使用命令的结果代替命令例如: 这个命令可以进行log的备份,但是如何实现备份数据按照当前时间进行命名 这样通过反引号就可以将命令执行的结果作为名称对备份文件进行命名反引号不支持嵌套可以进行命令替换,也可以进行嵌套 创建当前时间的脚本——20220618-log.sh变量定义规则:只可以英文字母、数字和下划线进行定义,不可以以数字开头脚本案例: tr -s “” 命令 该命令可以将内
    脚本:本质是一个文件,文件里面存放的是特定格式的指令,系统可以使用脚本解析器翻译或解析指令并执行(它不需要编译) shell 既是一个用 C 语言编写的应用程序,又是一种脚本语言(应用程序 解析 脚本语言) Shell 提供了一个界面,用户通过这个界面访问操作系统内核的服务。 Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。 Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编
    在编程中脚本时,我们经常需要用到各种符号,比如说单引号" ,双引号""等等。下面我们通过一些例子来正确使用各种引号。 下面来看看官方的手册里面是怎么介绍的双引号的: Double Quotes Enclosing characters in double quotes (‘"’) preserves the literal value of all characters within the quotes, with the exception of ‘KaTeX parse error: Und
    https://www.cnblogs.com/gx-303841541/archive/2012/10/25/2740333.html 在shell中引号分为三种:单引号,双引号和反引号。 * 单引号 ‘ 由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。例如: $ string=’$PATH’ $ echo $string
    文章来源:linux shell单引号、双引号及无引号区别(考试题答案系列) 3.描述linux shell中单引号、双引号及不加引号的简单区别(记时2分钟) 简要总结: 单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。 双引号: 把双引号内的内容输出出来;如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内
    单引号和双引号是在bash中用来包含字符串的一种方式,可以用来定义变量或者传递参数。例如: 单引号包含的字符串,不会对其中的特殊字符进行转义,所有内容都会按照字面值输出: echo 'Hello, world!' Hello, world! 双引号包含的字符串可以对其中的特殊字符进行转义,会将其中的变量、命令、转义序列进行替换: name=John echo "Hello, $name!" Hello, John! 一定要坚持创作更多高质量博客哦, 小小红包, 以资鼓励, 更多创作活动请看: 如何系统学习一门it技术: https://activity.csdn.net/creatActivity?id=10458?utm_source=csdn_ai_ada_redpacket 如何入门Python: https://activity.csdn.net/creatActivity?id=10436?utm_source=csdn_ai_ada_redpacket AI写作助手创作测评: https://activity.csdn.net/creatActivity?id=10450?utm_source=csdn_ai_ada_redpacket 全部创作活动: https://mp.csdn.net/mp_blog/manage/creative?utm_source=csdn_ai_ada_redpacket 【Sentinel入门】05 springmvc 集成Sentinel & springboot集成Sentinel & 链路模式失效 & WebContextUnify & CommonFilter 2301_78193643: 博主你好,ControllerAdvice会导致Sentinel限流异常数和异常比例统计失效吗?该怎么修复啊 【redis】redis和zookeeper分布式锁的区别(优点、缺点) 梦想当大程序员的Java小生: 引用「速度贼鸡儿快」
 
推荐文章
温柔的跑步鞋  ·  千元档亮度天花板!哈趣K1 Pro投影仪评测:真1080P分辨率白天也清晰
1 年前
朝气蓬勃的沙发  ·  “千万萌宠”急需主人的“一颗文明心” 宝山这个镇的做法让居民点赞_图片集锦_上海市宝山区人民政府
2 年前
聪明的墨镜  ·  2021款 思皓E40X 内饰材料怎么样 思皓E40X购车手册_太平洋汽车网
2 年前
长情的自行车  ·  未来三年广州拟改造83条城中村 将全部通地铁_新浪广东_新浪网
2 年前
细心的作业本  ·  语言康复学院 专家教授 高立群
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号