sed

sed

发行版为 red hat 以及centos,其他发行版未经验证 部分段落摘抄自网络,侵删 转载请注明出处 感谢点赞

单引号''和双引号"” 两者都是解决变量中间有空格的问题。

在bash中“空格”是一种很特殊的字符,比如在bash中这样定义str=this is String,这样就会报错,为了避免出错就得使用单引号''和双引号""。

单引号'',双引号""的区别是单引号''剥夺了所有字符的特殊含义,单引号''内就变成了单纯的字符。双引号""则对于双引号""内的参数替换($)和命令替换(``)是个例外。


比如说   

n

结果就是$n,因为所有字符均被当做普通字符处理
改成双引号  echo "$n",结果就是3

`` 学名叫“倒引号”或者“反引号”, 如果被“倒引号”括起来, 表示里面需要执行的是命令。Shell可以先执行``中的命令,将输出结果暂时保存,在适当的地方输出。

比如 `dirname $0`, 就表示需要执行 dirname $0 这个命令。

下面的例子中,将命令执行结果保存在变量中:

#!/bin/bash

上述代码命名为123.sh并赋予权限运行后,输出结果如下

反引号是老的用法,$()是新的用法,推荐使用$()。使用方式和反引号一致,如下:

DATE1

通常情况下两种形式的变量替换是等价的,但是两者还有一点区别,反引号``不支持嵌套而$()则支持嵌套,如计算目录下第一个文件的行数:

lines

输出结果为:

89 anaconda-ks.cfg

此外,$() 仅在 Bash Shell 中有效,而反引号可在多种 Shell 中使用。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1699603037a925414.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信