Shell脚本中的特殊字符(美元符、反斜杠、引号等)作用介绍

 更新时间:2015年05月11日 09:10:05   投稿:junjie  
这篇文章主要介绍了Shell脚本中的特殊字符(美元符、反斜杠、引号等)作用介绍,还包括其它特殊字符,需要的朋友可以参考下

GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
如果你想靠AI翻身,你先需要一个靠谱的工具!

Shell中的特殊字符有

1、$ 美元符
2、\ 反斜杠
3、` 反引号
4、" 双引号
5、< ,>;,*,?,[,]

下面我一一举列说明

一、$符号

1、echo $? 显示的是上一条指令退出状态
2、echo "$?" 效果同上
3、echo '$?' 显示的是$?
4、echo \$? 显示的是$?
5、echo "\$?" 显示的是$?

  大家可能已经看出 $符号在双引号中具有特殊意义 双引号对$符号不起作用
而单引号可以将特殊字符的的特殊意义屏蔽掉,使其能显示为字符本身,反斜
杠也可以将特殊字符的特殊含义屏蔽掉,使特殊字符失去特殊含义。

二、\ 反斜杠

反斜杠的作用是将特殊符号字符的特殊含义屏蔽掉,使其还是原字符

复制代码 代码如下:

A=1234
echo \$A 显示为$A 如果不加\将显示为1234
echo \` 显示为`
echo \" 显示为双引号
echo \\ 显示为\

三、` 反引号

  反引号的功能是命令替换,将反引号中的字符串做为命令来执行,我们在用shell编程时经常用的到 将系统命令的执行结果赋给一个变量

复制代码 代码如下:

A=`date`
echo $A 显示的不是date而是当时的时间串
比如有一文件A的内容如下 
ABCDEFG
1234456
abcdefg

B=`cat A|grep 234`? # 检索文件A中含有字符串234的行
echo $B 将显示为1234456
echo "$B" 将显示为什么?
echo "\$B" 将显示为什么?读者自己试试

四、" 双引号

  在系统中有些特殊字符,为避免引用这些特殊字符 往往用双引号或单引号将这些特殊字符引起来,使其不具有特殊含义。
  但有一部分特殊字符在引号中还是具有特殊含义,用双引号引起来是不起作用的。本文中所列的前四个特殊字符在双引号中还是特殊字符。为了使其不具有特殊含义一是用单引号引进来二是用\反斜线使其失去作用。

  比如我们想原样输出这些特殊字符

复制代码 代码如下:

echo """
echo "$"
echo "\"
echo "`"

   以上不是你所期望的结果,因为双引号对它们不起作用,你只能这样才能输出这些特殊字符的原形
复制代码 代码如下:

echo '"'
echo '$'
echo '\'
echo '`'

echo "\""
echo "\$"
echo "\\"
echo "\`"

将分别显示为 " $ \ `

五、其它特殊字符

  大家注意到 除了前四个特殊字符外 我将其它的特殊字符都放在一块,这是因为前四个特殊字符在双引号中还是具有特殊含义,所以单独拿出来讲,除此以外的特殊字符如果你要输出这些特殊字符的原形,你就可以用双引号或单引号引起来使其失去特殊含义。

< ,>;,*,?,[,]对shell有特殊含义 但你可以用双引号引起来输入这些原形

  讲了这么多大家是不是已经注意到所有的特殊字符在单引号中失去特殊含义,如果你要输出特殊字符原形但又记不清那些特殊字符在双引号中不能输出原形,建议你干脆用单引号引起来。

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

相关文章

  • Linux中nmcli命令使用详解

    Linux中nmcli命令使用详解

    nmcli是Linux系统中的一个命令行工具,用于管理网络连接,它可以帮助用户配置和管理网络连接、网络设备以及网络连接的属性,本文给大家详细介绍了Linux nmcli命令使用方法,需要的朋友可以参考下
    2024-03-03
  • shell脚本一键部署docker的实现步骤

    shell脚本一键部署docker的实现步骤

    作为一名经验丰富的开发者,我们经常需要使用Docker来快速部署各种应用,本文主要介绍了shell脚本一键部署docker的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Linux下使用tcpdump抓包的实现方法

    Linux下使用tcpdump抓包的实现方法

    tcpdump是Linux下面的一个开源的抓包工具,和Windows下面的wireshark抓包工具一样, 支持抓取指定网口、指定目的地址、指定源地址、指定端口、指定协议的数据。这篇文章主要介绍了Linux下使用tcpdump抓包的实现方法,需要的朋友可以参考下
    2015-10-10
  • mac使用Shell(终端)SSH连接远程服务器的方法

    mac使用Shell(终端)SSH连接远程服务器的方法

    这篇文章主要介绍了mac使用Shell(终端)SSH连接远程服务器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 检查Linux系统中文件大小的方法总结

    检查Linux系统中文件大小的方法总结

    在Linux操作系统中,掌握如何高效检查文件大小是每位开发者和系统管理员的必备技能,本文详细介绍了四种检查Linux文件大小的方法,感兴趣的朋友可以参考下
    2024-03-03
  • linux使用select实现精确定时器详解

    linux使用select实现精确定时器详解

    本文讲述如何使用select实现超级时钟。使用select函数,我们能实现微妙级别精度的定时器。同时,select函数也是我们在编写非阻塞程序时经常用到的一个函数
    2013-11-11
  • 详解adb shell 常用命令

    详解adb shell 常用命令

    这篇文章主要介绍了详解adb shell 常用命令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • vtune自动安装脚本分享

    vtune自动安装脚本分享

    这篇文章主要介绍了vtune自动安装脚本分享,需要的朋友可以参考下
    2014-03-03
  • 一天一个shell命令 文本操作系列-linux dd使用教程

    一天一个shell命令 文本操作系列-linux dd使用教程

    dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换
    2016-05-05
  • linux动态链接库使用方法分享

    linux动态链接库使用方法分享

    这篇文章主要介绍了linux动态链接库使用方法,大家参考使用吧
    2014-01-01

最新评论