免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2044 | 回复: 5

[问题]这个变量替换是怎么个过程? [复制链接]

论坛徽章:
0
发表于 2008-02-07 20:52 |显示全部楼层
目录下有如下的文件:
2008020201.dmp 2008020202.dmp 2008020203.dmp
想得到"20080202*.dmp"这样的值
如下处理:
TIME=`date +%Y%m%d`
得到了20080202
FILE_NAME=${TIME}"*.dmp"
echo $FILE_NAME
希望得到 20080202*.dmp
结果得到了 2008020201.dmp 2008020202.dmp 2008020203.dmp
如果改为 FILE_NAME=${TIME}*.dmp
那么结果是正确的。
想问一下,当后面的字符串中的*加了""后,是怎么会自动被替换的?

论坛徽章:
0
发表于 2008-02-08 03:36 |显示全部楼层
不会吧,你用的是什么shell?

论坛徽章:
0
发表于 2008-02-08 10:44 |显示全部楼层
环境: aix 5.2 + bash 3.00.16
今天重新测试的结果是:

  1. huang@F85_cz /home/huang/test>unset var1
  2. huang@F85_cz /home/huang/test>unset var2
  3. huang@F85_cz /home/huang/test>echo $var1

  4. huang@F85_cz /home/huang/test>echo $var2

  5. huang@F85_cz /home/huang/test>ls
  6. 2008020801.dmp  2008020802.dmp  2008020803.dmp
  7. huang@F85_cz /home/huang/test>var1=`date +%Y%m%d`
  8. huang@F85_cz /home/huang/test>echo $var1
  9. 20080208
  10. huang@F85_cz /home/huang/test>var2=${var1}*.dmp
  11. huang@F85_cz /home/huang/test>echo $var2
  12. 2008020801.dmp 2008020802.dmp 2008020803.dmp
  13. huang@F85_cz /home/huang/test>unset var2
  14. huang@F85_cz /home/huang/test>var2=${var1}"*.dmp"
  15. huang@F85_cz /home/huang/test>echo $var2
  16. 2008020801.dmp 2008020802.dmp 2008020803.dmp
  17. huang@F85_cz /home/huang/test>var2=${var1}'*.dmp'
  18. huang@F85_cz /home/huang/test>echo $var2
  19. 2008020801.dmp 2008020802.dmp 2008020803.dmp
  20. huang@F85_cz /home/huang/test>
复制代码


不管加不加 " "或者 '',都会自动扩展

论坛徽章:
0
发表于 2008-02-08 13:12 |显示全部楼层
FILE_NAME=${TIME}"\*.dmp"
或者
FILE_NAME=${TIME}'*.dmp'

论坛徽章:
0
发表于 2008-02-08 21:31 |显示全部楼层
原帖由 zhao3stones 于 2008-2-8 13:12 发表
FILE_NAME=${TIME}"\*.dmp"
或者
FILE_NAME=${TIME}'*.dmp'

\*转义,结果是字符串里面多了个\
''上面一个帖子里,我已经列举了,没有作用

论坛徽章:
0
发表于 2008-02-08 23:49 |显示全部楼层
知道问题在哪儿了。
echoo "$var2"就得到需要的结果了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时7.5折

【架构革新 自主可控】2020年6月4日~6日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP