精华内容
下载资源
问答
  • shell 三引号
    2019-05-30 14:38:28

    shell的三种引号

    '	单引号,里面所有的内容是什么你输出就是什么,就是一个字符串,其他格式或引用都失效。
    "	双引号,里面可以有引用如$PATH ,可以引用到全局变量里面PATH的内容,所有格式化的数据也将生效。
    `	反引号,是用作系统命令的
    
    更多相关内容
  • shell三引号功能

    2021-12-01 18:53:06
    ` `:反引号,包含的内容,做为shell命令被执行,执行结果替换原内容。 #!/bin/sh name=Jack echo "My name is $name." echo 'My name is $name.' echo -n "请输入您的名子:" read name echo "您的名子是$name" ...

    “”:双引号,包含的变量名称,会被解析。

      ‘’:单引号,包含的变量名称,不会被解析。

       ` `:反引号,包含的内容,做为shell命令被执行,执行结果替换原内容。

    #!/bin/sh
    name=Jack
    echo "My name is $name."
    echo 'My name is $name.'
    echo -n "请输入您的名子:"
    read  name
    echo "您的名子是$name"
    export name
    exit

    结果:

    My name is Jack
    My name is $name.

    请输入您的名子:张三

    您的名子是张三

    展开全文
  • 01 经典解释 单引号:所见即所得 双引号:所见非所得,它会...从上面的例子就可以体现出单引号所见即所得,双引号所见非所得的解释,双引号的时候,系统会先计算$HOME 的值,然后在echo出来,而单引号就是直接显示单引
  • Linux Shell中有引号,分别为双引号(” “)、单引号(‘ ‘)以及反引号(` `)。 其中双引号对字符串中出现的$、”、`和\进行替换;单引号不进行替换,将字符串中所有字符作为普通字符输出,而反引号中字符串作为...
  • shell可以识别4种不同类型的引字符号: 单引号字符' 双引号字符" 反斜杠字符 反引号字符`的区别,学习shell编程的朋友可以看下
  • Shell在使用的过程中,经常会使双引号或者单引号将字符串括起来,也可以不使用引号来定义字符串变量。示例如下: str1=testString //双引号\nstr2='testString' //单引号 str3=testString //无引号 因此字符串变量...
  • 主要介绍了Shell脚本中单引号(‘)和双引号(“)的使用区别,主要探讨了变量在单引号和双引号中的不同,需要的朋友可以参考下
  • 在编写shell脚本的时候经常会用到引号,有些时候却老是忘记单引号和双引号之间的区别,所以就整理一下供以后脑子不好使了的时候前来复习一下。首先说下他们的共同点: 好像就只有一个,就是它们都可以用来界定一个...

    在编写shell脚本的时候经常会用到引号,有些时候却老是忘记单引号和双引号之间的区别,

    所以就整理一下供以后脑子不好使了的时候前来复习一下。首先说下他们的共同点: 好像就只有

    一个,就是它们都可以用来界定一个字符串,这个没什么好解释的,真正需要记住的是它们区别,

    所以经过整理后,它们的区别主要包括:

    1)、单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原

    封不动的使用,唯一需要注意的点是不允许引用自身;

    2)、双引号属于弱引用,它会对一些被引起来的字符进行特殊处理,主要包括以下情况:

    1:$加变量名可以取变量的值 ,比如:

    [root@localhost ~]# echo '$PWD'

    $PWD

    [root@localhost ~]# echo "$PWD"

    /root

    2:反引号和$()引起来的字符会被当做命令执行后替换原来的字符,比如:

    [root@localhost ~]# echo '$(echo hello world)'

    $(echo hello world)

    [root@localhost ~]# echo "$(echo hello world)"

    hello world

    [root@localhost ~]# echo '`echo hello world`'

    `echo hello world`

    [root@localhost ~]# echo "`echo hello world`"

    hello world

    3:当需要使用字符($  `  "  \)时必须进行转义,也就是在前面加\ ;

    [root@localhost ~]# echo '$ ` " \'

    $ ` " \

    [root@localhost ~]# echo "\$ \` \" \\"

    $ ` " \

    备注:/bin/sh -> bash,版本:4.2.46  (2016-06-21 14:21:46)

    作者:潘洪银

    地址:http://www.cnblogs.com/panhongyin

    (转)linux shell单引号、双引号及无引号区别

    原文:http://blog.csdn.net/woshizhangliang999/article/details/50132265 3.描述linux shell中单引号.双引号及不加引号的简单区 ...

    shell 单引号以及双引号

    #!/bin/bash a= echo '$a' echo "$a" your_name='runoob' str="Hello, I know you are \&qu ...

    linux shell 单引号 双引号 反引号的区别

    一.单引号和双引号 首先, 单引号和双引号,都是为了解决中间有空格的问题. 因为空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行就会报错.为 ...

    linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

    tips: ============================= IFS - LINUX字段分隔符,内部字段分隔符 IFS(Internal Field Seperator)在Linux的she ...

    linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别

    一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 因为空格在Linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错.为了避免 ...

    linux shell中,单引号、 双引号,反引号(``),$()的区别

    一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行会报错.为了避免这 ...

    Linux Shell基础 单引号、双引号、反引号、小括号和大括号

    单引号和双引号 单引号和双引号用于变量值出现空格时将字符用引号括起来. 二者的主要区别在于, 被单引号括起来的字符都是普通字符,就算特殊字符也不再有特殊含义: 被双引号括起来的字符中,"$& ...

    shell中的括号(小括号,中括号,大括号)及单引号、 双引号,反引号(``)

    一.小括号,园括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号, ...

    linux 中的单引号 和双引号有什么区别吗

    单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符 ,而不会有特殊符号.我们以底下的例子做说明:假设您定义了一个变量, name=VBird ,现在想以 name 这个 ...

    随机推荐

    YAML 模板文件语法

    YAML 模板文件语法 默认的模板文件是 docker-compose.yml,其中定义的每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建. 其 ...

    2014 Super Training #6 A Alice and Bob --SG函数

    原题: ZOJ 3666 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3666 博弈问题. 题意:给你1~N个位置,N是最 ...

    android的消息处理有三个核心类:Looper,Handler和Message。

    android的消息处理机制(图+源码分析)——Looper,Handler,Message   作为 一名android程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设 ...

    C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)

    严格来说这篇文章算不上C++范围的,不过还是挂了点边,还是在自己的blog中记录一下吧. C++中使用指针是家常便饭了,也非常的好用,这也是我之所以喜欢C++的原因之一.但是在C#中就强调托管的概念了 ...

    用Django搭建个人博客—(2)

    今日任务: 1 blog的数据库模型定义 2 简单的注册登录功能的实现 项目的源文件已经推送到git@oschina.net. 所以,如果想要参阅源码的请移步 (Fork) http://git.os ...

    Java Listener中Spring接口注入的使用

    在项目中使用Spring通常使用他的依赖注入可以很好的处理,接口与实现类之间的耦合性,但是通常的应用场景中都是Service层和DAO层,或者web层的话, 也是与Strust2来整合,那么如何在Li ...

    HTTPS安全证书介绍

    IIS配置web SSL 安全证书Https访问 From : http://cao416451347ming.blog.163.com/blog/static/1154556162010217441 ...

    python opencv3 人脸识别的例子

    一个人脸识别的例子 程序中用到了公共数据集, 欢迎去我的git上下载源码,源码里带有数据集 git:https://github.com/linyi0604/Computer-Vision 脚本中一个 ...

    展开全文
  • Bash Shell 中单引号和双引号的区别

    千次阅读 2022-04-12 11:07:24
    你会经常在 Linux 命令行中使用引号,处理文件名中的空格?你使用引号。处理特殊字符?你再次使用引号引号是 Linux shell 中的“特殊功能”,它...Shell 中的单引号会忽略其中所有类型的特殊字符,单引号之间的所有

    你会经常在 Linux 命令行中使用引号,处理文件名中的空格?你使用引号。处理特殊字符?你再次使用引号。

    引号是 Linux shell 中的“特殊功能”,它可能会让人感到困惑,特别是如果您不熟悉 Linux 命令和 shell 脚本。

    我将解释不同类型的引号字符及其在 shell 脚本中的用法。

    有四种不同类型的引号字符:

    • 单引号 ’
    • 双引号"
    • 反斜杠 \
    • 后引号`

    除反冲外,其余三个字符成对出现。

    让我们详细看看它们。

    1.单引号

    Shell 中的单引号会忽略其中所有类型的特殊字符,单引号之间的所有内容都被视为一个元素。

    让我们举个例子,这是一个示例文本文件,其中包含 90 年代的一些板球运动员。

    abhishek@its-foss:~$ cat cricket 
    Allan Donald, South Africa
    Steve Waugh, Australia
    Mark Waugh, Australia
    Henry Olonga, Zimbabwe
    Sachin Tendulkar, India
    

    现在,您使用 grep 命令查找姓 Waugh 的板球运动员,这会给你两个结果:

    abhishek@its-foss:~$ grep Waugh cricket
    Steve Waugh, Australia
    Mark Waugh, Australia
    

    但是,如果您只想搜索 Steve Waugh,并尝试按原样使用它,您会看到一个错误:

    abhishek@its-foss:~$ grep Steve Waugh cricket
    grep: Waugh: No such file or directory
    cricket:Steve Waugh, Australia
    

    为什么?因为空格用于分隔命令、选项和参数。在上面的例子中,它Steve作为 grep 的第一个参数,但是Waugh和cricket作为它应该在其中执行搜索的文件。由于没有名为 的文件Waugh,因此会引发错误。同时,它还显示了文件中的结果cricket。

    这就是报价来拯救的地方。当您将参数括在引号中时,它被解释为单个实体。

    abhishek@its-foss:~$ grep 'Steve Waugh' cricket
    Steve Waugh, Australia
    

    基本上,当 shell 看到第一个单引号时,它会忽略任何特殊字符(空格也是特殊字符),直到找到另一个单引号(右引号)。

    忽略所有特殊字符

    如果将所有特殊字符括在单引号中,它们就会失去意义。让我们用例子来看看。

    让我们在 shell 中声明一个变量,如果用 $ 回显变量名称,它会显示变量的值。

    abhishek@its-foss:~$ var=my_variable
    abhishek@its-foss:~$ echo $var
    my_variable
    

    但是如果你用单引号括起来,$ 就会失去它的特殊能力。

    abhishek@its-foss:~$ echo '$var'
    $var
    

    现在仅此而已。回车键也保留在单引号下。

    abhishek@its-foss:~$ echo 'how are
    > you?'
    how are
    you?
    

    2. 双引号

    双引号的工作方式与单引号几乎相似。几乎是因为他们也倾向于忽略所有特殊字符,除了:

    • 美元符号 $
    • 反引号`
    • 反斜杠 \

    由于不会忽略美元符号,因此您可以期望变量名被其值替换。单引号不是这种情况。

    abhishek@its-foss:~$ var=my_variable
    abhishek@its-foss:~$ echo "$var"
    my_variable
    abhishek@its-foss:~$ echo '$var'
    $var
    

    双引号可用于隐藏 shell 中的单引号。

    abhishek@its-foss:~$ var=My 'own villa' is yellow
    own villa: command not found
    abhishek@its-foss:~$ var="My 'own villa' is yellow"
    abhishek@its-foss:~$ echo $var
    My 'own villa' is yellow
    

    同样,您可以使用单引号从 shell 中隐藏双引号。

    abhishek@its-foss:~$ var=he said, "Awesome!"
    said,: command not found
    abhishek@its-foss:~$ var='he said, "Awesome!"'
    abhishek@its-foss:~$ echo $var
    he said, "Awesome!"
    

    3.反斜杠

    反斜杠就像在单个字符周围加上单引号。反斜杠“转义”它之前放置的字符。

    这意味着反斜杠后面的字符将失去其特殊含义(如果有)。

    abhishek@its-foss:~$ var=variable
    abhishek@its-foss:~$ echo \var
    var
    abhishek@its-foss:~$ echo $var
    variable
    abhishek@its-foss:~$ echo \$var
    $var
    

    因为v没有特殊含义,echo \var只是打印var。另一方面,当它与 一起使用时 v a r , 反 斜 杠 转 义 了 的 特 殊 含 义 , var,反斜杠转义了 的特殊含义, var因此它被打印为$var而不是 的值var。

    用反斜杠继续该行

    您会注意到反斜杠字符的另一种实际用途是在多行上继续执行单个命令。

    当命令太长或命令组合时,您会看到一些网站使用反斜杠在多行中显示单个命令。这使命令/代码更具可读性。

    以这个长命令为例。

    docker run --name server --network net -v html:/usr/share/nginx/html -v $PWD/custom-config.conf:/etc/nginx/nginx.conf -p 80:80 --restart on-failure -d nginx:latest
    

    由于反斜杠,同一命令可以分解为多行。

    docker run --name server --network net \
    -v html:/usr/share/nginx/html \
    -v $PWD/custom-config.conf:/etc/nginx/nginx.conf \
    -p 80:80 --restart on-failure -d nginx:latest
    

    这是相同的命令,只是更容易理解一些。

    双引号内的反斜杠

    反斜杠是与美元符号和反引号一起保持其特殊含义的三个特殊字符之一。

    这样,您可以使用反斜杠来转义美元符号、双引号和双引号中的反引号的特殊含义。

    以下面的示例为例,其中$5被视为未声明的变量,因此它没有值。这就是为什么从echo 命令的输出中忽略它的原因。

    abhishek@its-foss:~$ echo "Meal costs $5.25"
    Meal costs .25
    

    要使用此 $ 而不被解释为变量的值,您必须使用 / 对其进行转义。

    abhishek@its-foss:~$ echo "Meal costs \$5.25"
    Meal costs $5.25
    

    在这里,反斜杠(\)被解释为它的超能力,这是为了逃避后续字符的特殊含义。

    4. 反引号

    此列表中的最后一个是反引号,它具有特殊含义。它用于命令替换。

    shell 具有此命令替换功能,其中指定的命令被替换为命令的输出。

    在下面的示例中,date 被替换为 date 命令的输出,显示 Linux 系统的当前日期和时间。

    abhishek@its-foss:~$ echo The current date and time is `date`
    The current date and time is Monday 23 August 2021 04:55:18 PM IST
    

    要记住的一件事是,只有在反引号之间有命令时才会进行替换,否则,将按原样显示。

    abhishek@its-foss:~$ echo 'The current date and time is `late`'
    The current date and time is `late`
    

    同样,双引号解释反引号,但单引号忽略其特殊含义。

    不再推荐反引号

    多年来,反引号用于 Shell 脚本中的命令替换,但是现在,现代 UNIX 和 Linux 系统更喜欢这种$(command)结构。

    abhishek@its-foss:~$ echo The current date and time is $(date)
    The current date and time is Monday 23 August 2021 05:55:47 PM IST
    

    与时俱进,现在停止使用反引号。

    展开全文
  • shell中单引号和双引号的使用
  • shell引号与变量

    千次阅读 2020-12-23 14:41:09
    shell中单引号、双引号和两个双引号的区别,看下面的例子: [root@test] a=55 [root@test] echo $a 55 [root@test] echo '$a' $a [root@test] echo ''$a'' #注意此处是两个单引不是一个双引 55 由上面的例子不难...
  • Shell中的特殊字符有 1、$ 美元符 2、\ 反斜杠 3、` 反引号 4、” 双引号 5、< ,>;,*,?,[,] 下面我一一举列说明 一、$符号 1、echo $? 显示的是上一条指令退出状态 2、echo “$?” 效果同上 3、echo ‘$...
  • 1.编写shell脚本 #!/bin/bash do_date=$1 echo '$do_date' echo "$do_date" echo "'$do_date'" echo '"$do_date"' echo `date` 2.执行测试命令 ./test.sh 2020-06-14 3.执行结果 $do_date 2020-06-14 '2020-06-...
  • 在编写 shell 脚本或输入命令时,你可能已经注意到大多数命令都可以使用单引号 或双引号, 这不仅适用于 shell 脚本,而且适用于所有 Bash 命令, 但是两种类型的引号以及 Bash shell 解释它的方式之间存在一定的...
  • 不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体的说,就是①美元符号②反引号③反斜杠,这3种特殊字符不被忽略。 不忽略美元符号意味着shell在双引号内部也...
  • 引号不取变量值 双引号取变量值 单引号套双引号不取变量值 双引号套单引号取变量值 ``执行命令
  • Shell引号和单引号的区别

    千次阅读 2019-02-02 20:42:43
    Shell在使用的过程中,经常会使双引号或者单引号将字符串括起来,也可以不使用引号来定义字符串变量。示例如下: str1=&quot;testString&quot; //双引号 str2='testString' //单引号 str3=testString //...
  • Shell 引号嵌套

    千次阅读 2020-06-07 14:32:40
      在写shlle脚本或者自定义alias时有一个坑总是无法避开,那就是引号,不管如何尝试系统总是无情的提示“ unmatched ’ ”,多方寻找终得正解,遂做此记录。 先抛结论: 1、在使用多重引号时系统是从前往后看的,...
  • Shell引号里引用变量

    千次阅读 2020-03-07 04:14:27
    最近在Kaldi里试图输出N-Best的每一个sentence的文本还有声学模型以及语言模型的分数,但是在使用Shell命令的时候,发现单引号里的变量无法引用 s5=/data3/ots_use_libri_asr001_003/s5 exp=exp/nnet2_online/nnet_a...
  • 1. 单引号(’) 由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。如例程中的'-1 day',再比如: $ string=’$PATH’ $ echo $string $PATH ...
  • shell中的引号和转义

    千次阅读 2021-07-29 17:54:38
    shell中的引号和转义 引号和转义 Bash 只有一种数据类型,就是字符串。不管用户输入什么数据,Bash 都视为字符串。因此,字符串相关的引号和转义,对 Bash 来说就非常重要。 转义# 某些字符在 Bash 里面有特殊...
  • shell中单引号、双引号与反引号的区别
  • shell中的单引号和双引号

    千次阅读 2022-02-08 11:42:01
    shell中的单引号和双引号shell中,如果需要定义或引用变量通常需要使用双引号,如果希望不解析变量,直接原样输出内容可以使用单引号。 因为双引号首先会先解析变量的内容,而单引号包裹的内容表示原样输出。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,847
精华内容 49,938
关键字:

shell 三引号