一文搞定Shell编程中的单引号、双引号、反引号和转义符的区别和使用 您所在的位置:网站首页 shell中的单引号和双引号 一文搞定Shell编程中的单引号、双引号、反引号和转义符的区别和使用

一文搞定Shell编程中的单引号、双引号、反引号和转义符的区别和使用

2023-06-25 12:00| 来源: 网络整理| 查看: 265

前言

Shell编程中,不仅会是使用变量,还经常会使用$、\、单引号、双引号、反引号等符号。

这些符号在使用中,有时候难免混乱,所以整理此文,便于学习,希望对你有用

文章目录 前言一. 符号的介绍与对比二. 单引号和双引号的区别2.1. 变量展开:2.2 命令替换2.3 转义字符的处理2.4 引号的嵌套 三. 转义符3.1 转义符的概念3.2 常用的转义符3.3 使用案例 总结

一. 符号的介绍与对比

如下为几种符号简单区别对比:

美元符号 $,主要用于引用变量值,例如定义变量MXS=moxiaosheng,引用时,需要用 $MXS;\反斜杠,主要是用于对特定的字符实现转义,保留原有意义,例如echo “\$MXS”结果会打印$MXS,而不会打印moxiaosheng;单引号' ',单引号又称为强引,不具有变量置换的功能,所有的任意字符还原为字面意义,实现屏蔽Shell元字符的功能;双引号" ",双引号又称为弱引,具有变量置换的功能,保留$(使用变量前导符), \(转义符), `(反向引号)元字符的功能;反向引号``,反引号,位于键盘Tab键上面一行的键,用作命令替换(相当于$(…))。 二. 单引号和双引号的区别

在shell中,单引号(')和双引号(")在处理字符串时有以下区别:

2.1. 变量展开: 单引号字符串中的变量不会被展开,将原样输出。例如,echo ‘Hello $name’ 输出结果为 “Hello $name”。双引号字符串中的变量会被展开为其对应的值。例如,echo “Hello $name”,如果变量 name 的值为 “Alice”,则输出结果为 “Hello Alice”。 #!/bin/bash name="Alice" # 单引号字符串中的变量不会展开 echo 'Hello $name' # 输出结果为 "Hello $name" # 双引号字符串中的变量会展开 echo "Hello $name" # 输出结果为 "Hello Alice" 2.2 命令替换 单引号字符串中的命令替换不会被执行,命令将原样输出。例如,echo ‘Today is $(date)’ 输出结果为 “Today is $(date)”。双引号字符串中的命令替换会被执行,并将命令的输出结果插入字符串中。例如,echo “Today is $(date)” 将执行命令 “date” 并将输出日期插入字符串中。 2.3 转义字符的处理 在单引号字符串中,转义字符(例如 \n、\t)仅被视为普通字符,不会被特殊处理。在双引号字符串中,转义字符会被解释,并按照其含义进行替换。例如,echo “Hello\tWorld” 输出结果为 “Hello World”,其中 \t 被解释为制表符。 2.4 引号的嵌套 单引号字符串中可以包含双引号,双引号字符串中可以包含单引号。例如,echo ‘He said, “Hello”’ 和 echo “It’s a nice day” 都是合法的。

只要记住一点就行了: 单引号一般会保留原样输出。

三. 转义符 3.1 转义符的概念

转义符在shell脚本中用于解决特殊字符的处理问题。当需要在字符串中插入具有特殊含义的字符时,可以使用转义符来取消其特殊含义,将其视为普通字符。

在shell脚本中,常见的转义符是反斜杠(\),其后跟着需要进行转义的字符。

3.2 常用的转义符 \n:换行符 \t:制表符 \":双引号 \':单引号 \\:反斜杠 \$:美元符号 ```:反引号 3.3 使用案例 echo "This is a sentence with a newline.\nThis is on a new line." echo "The price is \$10"

这样可以输出$符号

使用脚本完成一个包含学生姓名和成绩的表格:

#!/bin/bash # 表头 echo -e "姓名\t成绩" # 学生数据 echo -e "Alice\t90" echo -e "Bob\t85" echo -e "Charlie\t92" echo -e "David\t87"

输出结果:

姓名 成绩 Alice 90 Bob 85 Charlie 92 David 87

实现一个进度条:

#!/bin/bash echo "执行命令:yum install mariadb" echo "开始安装..." # 安装命令(取消输出) yum install -y mariadb --quiet & # 监控安装进度 while : do sleep 1 echo -n "#" if yum list installed mariadb >/dev/null 2>&1; then break fi done echo "" echo "安装完成"

使用yum install -y mariadb --quiet命令来安装mariadb软件包,并通过&运行它以启动后台安装过程。然后,使用while循环检查是否已经安装了mariadb软件包,如果安装完成则终止循环,并输出安装完成的消息。

安装时间仍然取决于多个因素。但使用实际的安装命令来监控进度会更接近实际情况,并且在安装完成后才会终止进度条。

总结

以上就是各类符号的使用方法,希望对你有用,我是沐风晓月, 我在csdn等你。

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有