免费注册 查看新帖 |

Chinaunix

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

隐藏了转义字符? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-18 15:02 |只看该作者 |倒序浏览
我有一个文件file的内容如下:

"abc"

写了一个脚本:
a=`cat /file|tail -1`
echo $a

执行后打印出来的结果为 "abc"

双引号也被打印出来了,难道在给 a 附值得时候自动在双引号前面加了转义字符?怎么加的?

论坛徽章:
0
2 [报告]
发表于 2011-11-18 15:09 |只看该作者
我试了一下,没有双引号。

[root@mode /]# cat file
abc
[root@mode /]# cat test.sh
a=`cat /file |tail -1`
[root@mode /]# sh test.sh
[root@mode /]# echo $a
abc

论坛徽章:
0
3 [报告]
发表于 2011-11-18 15:14 |只看该作者
本帖最后由 taojie2000 于 2011-11-18 15:53 编辑

回复 2# bxuan
  1. file文件内容  "test"
  2. #!/bin/bash

  3. a=`cat /test1/file|tail -1`
  4. echo $a

  5. b="file"
  6. echo $b


  7. sh -x 脚本

  8. ++ tail -1
  9. ++ cat /test1/file
  10. + a='"test"'
  11. + echo '"test"'
  12. "test"
  13. + b=file
  14. + echo file
  15. file
复制代码

论坛徽章:
0
4 [报告]
发表于 2011-11-18 15:48 |只看该作者
这个难道不就是应该这样的结果吗 ,这个好像牵涉到shell语句的执行顺序吧。

论坛徽章:
0
5 [报告]
发表于 2011-11-18 16:49 |只看该作者
谢谢,原来是两边多了单引号

论坛徽章:
0
6 [报告]
发表于 2011-11-18 17:31 |只看该作者
我怎么就看不懂

论坛徽章:
0
7 [报告]
发表于 2011-11-19 09:24 |只看该作者
谢谢,原来是两边多了单引号
olivehb 发表于 2011-11-18 16:49



    我也没用看懂 请楼主明示 thx

论坛徽章:
0
8 [报告]
发表于 2011-11-19 11:26 |只看该作者
回复 7# myownstars


    sh -x 脚本



++ tail -1

++ cat /test1/file

+ a='"test"'

+ echo '"test"'

"test"

+ b=file

+ echo file

file

论坛徽章:
0
9 [报告]
发表于 2011-11-19 12:03 |只看该作者
本帖最后由 yanu 于 2011-11-19 18:59 编辑

echo "abc" 出来的结果双引号为什么没了?

补充下,我问的是,那个引号没有显示出来,是shell没把引号传递给echo,还是echo收到了引号却没显示出来?
这样才能解释echo $a时是否存在什么转义符的问题

我的观点是shell处理参数时把"abc"解释成abc ,把$a解释成了 "abc"
写个简单的脚本:

  1. $ cat 1119.sh
  2. #!/bin/bash
  3. echo -e "第一个参数: $1\n第二个参数: $2"

  4. $ a='"abc"'

  5. $ ./1119.sh  "abc"  $a
  6. 第一个参数: abc
  7. 第二个参数: "abc"
复制代码

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
10 [报告]
发表于 2011-11-19 14:43 |只看该作者
回复 9# yanu


    对比下echo "abc"和echo '"abc"'就明白了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP