shell之转义字符'
发布时间:2020-12-15 09:10:23 所属栏目:安全 来源:网络整理
导读:转义字符 反斜线()是bash的转义字符,也叫逃逸字符或者转义字符。 我们想让 通配符,或者元字符变成普通字符,不需要使用它。那么这里我们就需要用到转义符了 实例: [root@sande-lvs01 ~]# echo 9 * 9 = 81 9 1.txt anaconda-ks.cfg install.log install.
转义字符 反斜线()是bash的转义字符,也叫逃逸字符或者转义字符。 我们想让 通配符,或者元字符变成普通字符,不需要使用它。那么这里我们就需要用到转义符了 实例: [root@sande-lvs01 ~]# echo 9 * 9 = 81 9 1.txt anaconda-ks.cfg install.log install.log.syslog install.log.tar install.log.tar.zip zabbix-agent-3.0.4-1.el6.x86_64.rpm zabbix-agent-3.0.4-1.el6.x86_64.rpm.1 zabbix_agent.sh 9 = 81 [root@sande-lvs01 ~]# echo 9 '*' 9 9 * 9 [root@sande-lvs01 ~]# echo 9 '*' 9 = 81 9 * 9 = 81 [root@sande-lvs01 ~]# echo '9 * 9 = 81' 9 * 9 = 81 [root@sande-lvs01 ~]# echo 9 * 9 = 81 9 1.txt anaconda-ks.cfg install.log install.log.syslog install.log.tar install.log.tar.zip zabbix-agent-3.0.4-1.el6.x86_64.rpm zabbix-agent-3.0.4-1.el6.x86_64.rpm.1 zabbix_agent.sh 9 = 81 [root@sande-lvs01 ~]# echo 9 * 9 = 81 9 * 9 = 81 [root@sande-lvs01 ~]# 特殊实例: 在一对引号中不允许出现单引号,转义字符也不行 [root@sande-lvs01 ~]# echo 'it is wolf's book' > ^C [root@sande-lvs01 ~]# echo 'it is wolf's book' > ^C [root@sande-lvs01 ~]# echo 'it is wolfs book' it is wolfs book [root@sande-lvs01 ~]# 以上,bash会认为命令输入为完成,因为第一个引号和第二个引号自动配成一对,最后一个单引号在没得配的情况下,bash认为输入尚未完成,出现>等待命令继续输入。 解决办法 [root@sande-lvs01 ~]# echo "it is wolf's book" it is wolf's book [root@sande-lvs01 ~]# echo it is wolf's book it is wolf's book [root@sande-lvs01 ~]# echo 'it is wolf'''s book.' it is wolf's book. 一般特殊符号要出现必须用转义字符 ' " * ? ~ ` !! # $ &; ( ) | [ ] { } ; &; &; ^ 续行符号 转义字符唯一的里外是:的后方,若是接续换行(不可见字符),即先输入,再敲回车。 [root@sande-lvs01 ~]# echo "wolf > wolf" wolf wolf [root@sande-lvs01 ~]# 补充一下: 1、其实单引号也是转义字符---‘’---硬转义,引号内部所有的shell元字符、通配符、都会被关掉。 注意:硬转义中不允许出现‘(单引号,鸡上面的例子) 2、双引号:软转义,引号内部只允许出现特定的shell元字符,$用于参与代换 用于代替命令。 3、后跟的是非元字符,与没有加的效果一样 eg:echo 'A' 和echo "A" 的输出都是 A 而echo A 的输出却是A [root@sande-lvs01 ~]# echo 'A' A [root@sande-lvs01 ~]# echo "A" A [root@sande-lvs01 ~]# echo A A (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |