LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1093|回复: 6

我对转义符的使用还不是很清楚,哪位能讲讲??

[复制链接]
发表于 2004-6-2 13:49:54 | 显示全部楼层 |阅读模式
?
发表于 2004-6-2 14:14:26 | 显示全部楼层
见个例子,
/home/lee/test#ls  #目录中有a?,a*两个文件
a  a?  a*  abc  c.c
/home/lee/test#ls a* #这里的a*中的*,他有特殊的含义,即表示一个字母a,后面有0个或任意个字符的文件名
a  a?  a*  abc
/home/lee/test#ls a\* #如果单独显示,那么就用到转义符号\来解释,即这个*号只代表他本身
a*
/home/lee/test#ls a?  #这里的a?,表示所有带一个字母a,后面只跟一个任意字符的文件名
a?  a*
/home/lee/test#ls a\? #同上解释
a?
发表于 2004-6-2 18:16:03 | 显示全部楼层

回复: 我对转义符的使用还不是很清楚,哪位能讲讲??

最初由 luanjixue 发表
?
看来没有接触过 C 语言
 楼主| 发表于 2004-6-2 22:32:05 | 显示全部楼层

督导讲的我知道。我对下面的不懂。能讲一下吗

awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}
发表于 2004-6-3 00:04:02 | 显示全部楼层

回复: 督导讲的我知道。我对下面的不懂。能讲一下吗

最初由 luanjixue 发表
awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}

sorry,看不明白 ;)
发表于 2004-6-3 08:44:49 | 显示全部楼层
起点太高了点儿吧, 先把基本的搞明白再说
发表于 2004-6-3 11:09:36 | 显示全部楼层

大盖是这样

转意字符一般有两个用处
1是用来转意被系统用接的字符,比如通配符管道符
2是用来输入不能直接输入的字符,比如换行退格响铃等
在C和PHP和SHELL里一般用\来表示
在shell中比如楼上说的ls命令中*和?是通配符,如果直接输入,系统就会认为是通配符支解释,加上转意后系统就让这个字符失去了通配符的特殊作用,这也就是转意的本意了
在shell中如果想让终端响铃可以输入\007,在ascii中0x20以前的字符都是不能直接输入的,这样当需要输入这些字符时就在用到转意,在后面一般输入8进制的数值来表示这个字符的ascii码,这样就把一个8进制的数转意为一个ascii的控制符
不只在shell中,大盖所有的编程语言中都要用到转意,在类C的语言中一般都是用\来表示,这样\就也成了一个被系统使用的特殊符号,也需要转意,当输入\时就要输入\\
在vi里/是用来查找的命令,当查找的对象是//ABC时,由于/是特殊字符当然也就需要转意了,输入查找//替换为/时就会象楼上说的
/\/\//\/g
不知道你明不明白
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表