免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2994 | 回复: 5
打印 上一主题 下一主题

有没有什么函数可以escape文件名中的特殊字符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-13 04:57 |只看该作者 |倒序浏览
$filename = "\$test";
`cat $filename`


$filename是用`find .`得到的,但是比如这里$filename中有个$,于是被shell处理的时候就会被shell当变量替换
当然你可以s/\$/\\\$/g,然而特殊字符可能不止$一个,所以问一下有没有什么比较优美的解决办法,比如函数什么的

论坛徽章:
0
2 [报告]
发表于 2008-02-13 10:13 |只看该作者
会这样吗?

论坛徽章:
0
3 [报告]
发表于 2008-02-13 11:16 |只看该作者
呵呵,你试一下不就知道了

论坛徽章:
0
4 [报告]
发表于 2008-02-13 12:15 |只看该作者
`cat '$filename'`

论坛徽章:
0
5 [报告]
发表于 2008-02-14 19:44 |只看该作者
确实会这样。我都是做的替换,Linux的每个指令处理特殊字符都不一样的,有些需要加\,有些又不用加,有些甚至要加2个\,像如果用grep就必须加2个\在$前面。
这个应该没有什么统一的替换程序的

论坛徽章:
0
6 [报告]
发表于 2008-02-15 05:17 |只看该作者
原帖由 Lonki 于 2008-2-13 12:15 发表
`cat '$filename'`


这个办法不错,居然没想到,呵呵
之前把$filename中的引号先替换掉应该就完美了吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP