admin管理员组文章数量:1794759
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 中使用。
本文标签: sed
版权声明:本文标题:sed 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1699603095a374656.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论