shell编程之转义与引用
Posted 永远不要矫情
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程之转义与引用相关的知识,希望对你有一定的参考价值。
1.转义
转义指的是使用转义符引用单个字符,从而使其表达单纯的字符的字面含义,而不解释其特殊的含义。shell中的转义字符为"",例如:想打印字符"$array",不使用转义,若该变量未被声明,则打印空行;想打印"$array",需要在$面前加转义
[root@node1 ~]# echo $array
[root@node1 ~]# echo \\$array
$array
2.引用
引用指的是将字符串用某种符号括起来,以防止特殊字符被解析成其他意思。shell中总共有四种引用,分别是单引号,双引号,反引号和转义符。
-
双引号又叫部分引号或者弱引用,可以引用除$符,反引号,转义符之外的所有字符;
-
单引号为全引用或强引用,可以引用所有字符
-
反引号则会将引用起来的内容解释为系统命令
1.部分引用
部分引用指的是双引号括起来的引用,在这种引用方式中,$符,反引号,转义符依然会被解释为特殊意义。例如:输出变量的值
[root@node1 ~]# array=10
[root@node1 ~]# echo "$array"
10
[root@node1 ~]# echo $array
10
2.全引用
全引用指的是单引号括起来的引用。括起来的所有字符都只是当做普通字符。例如:
[root@node1 ~]# array=10
[root@node1 ~]# echo '$array'
$array
若全引用里面还包括单引号,则会出现问题,因为shell不知道哪个单引号是引用的结束符。例如:
[root@node1 ~]# echo 'It's a dag'
>
想要解决有两种方式:
[root@node1 ~]# echo "It's a dag"
It's a dag
[root@node1 ~]# echo 'It'\\''s a dag'
It's a dag
以上是关于shell编程之转义与引用的主要内容,如果未能解决你的问题,请参考以下文章