免费注册 查看新帖 |

Chinaunix

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

[文本处理] 问一个转义的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-29 11:18 |只看该作者 |倒序浏览
a="ni hao \!"
echo $a        # ni hao \!

a=ni\ hao\ !
echo $a        # ni hao !
问下第一个里面"!"被转义后为什么还会输出“\” ?

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
2 [报告]
发表于 2014-08-29 11:23 |只看该作者
本帖最后由 chengchow 于 2014-08-29 11:40 编辑

echo -e 用法,好像出了这些其他都不用转义的
  1.        \\     backslash
  2.        \a     alert (BEL)
  3.        \b     backspace
  4.        \c     produce no further output
  5.        \e     escape
  6.        \f     form feed
  7.        \n     new line
  8.        \r     carriage return
  9.        \t     horizontal tab
  10.        \v     vertical tab
  11.        \0NNN  byte with octal value NNN (1 to 3 digits)
  12.        \xHH   byte with hexadecimal value HH (1 to 2 digits)
复制代码
理解错了
用单引号吧 echo 'ni hao !'
或者echo -e "ni hao \x21"

论坛徽章:
3
天蝎座
日期:2013-12-10 19:37:11酉鸡
日期:2014-08-04 20:05:38双鱼座
日期:2014-08-09 21:53:54
3 [报告]
发表于 2014-08-29 11:30 |只看该作者
回复 1# tasteoftime_90


    !不是一个特殊字符,不需要用"\"转义吧

论坛徽章:
0
4 [报告]
发表于 2014-08-29 11:44 来自手机 |只看该作者
本帖最后由 tasteoftime_90 于 2014-08-29 11:45 编辑

!它有历史命令的效果 @欧阳西风

论坛徽章:
0
5 [报告]
发表于 2014-08-29 11:49 来自手机 |只看该作者
x21代表感叹号啊 了解下先

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
6 [报告]
发表于 2014-08-29 11:51 |只看该作者
回复 5# tasteoftime_90
其实就是ASCII打印,查下ASCII表就知道!

   

论坛徽章:
3
天蝎座
日期:2013-12-10 19:37:11酉鸡
日期:2014-08-04 20:05:38双鱼座
日期:2014-08-09 21:53:54
7 [报告]
发表于 2014-08-29 12:16 |只看该作者
回复 4# tasteoftime_90


    作为历史命令使用的时候,这个!是不能使用反斜线转义的吧。建议使用变量来间接显示

  1. BANG='!'
  2. echo "hi${BANG}"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP