免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: ruifox
打印 上一主题 下一主题

如何获取带引号的参数 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-03-03 16:43 |只看该作者
回复 10# daveyhook


    关键是 su informix -c "$0 $*"这句执行时,$*与实际输入的参数(如:1 2 "3 4")不同,造成执行错误!

论坛徽章:
0
12 [报告]
发表于 2011-03-03 16:55 |只看该作者
云里雾里啊。
把详细的需求讲一下?

论坛徽章:
0
13 [报告]
发表于 2011-03-03 17:21 |只看该作者
本帖最后由 seeLnd 于 2011-03-03 17:29 编辑

那你就让程序自己有选择的加双引号,比如光在 root 语句块中:
  1. if [ $id_ = 0 ]
  2.     then
  3.         i=0
  4.         while [ $# -gt 0 ]; do
  5.             parm[i++]="\"$1\""
  6.             shift
  7.         done

  8.         su informix -c "$0 ${parm[*]}"
  9.         exit $?
  10. fi
复制代码
然后执行此脚本时还是按正常的走,如 :     ./thisprog    1   "2   3"    4

论坛徽章:
0
14 [报告]
发表于 2011-03-03 18:34 |只看该作者
坐等

论坛徽章:
0
15 [报告]
发表于 2011-03-04 13:29 |只看该作者
回复 13# seeLnd


    不错,这个可以,看来也只能都加双引号比较稳妥,谢了!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
16 [报告]
发表于 2011-03-04 20:42 |只看该作者
shell 十三問?
9) $@ 與 $* 差在哪?
jason680 发表于 2011-03-03 14:36


是的,看完就知道了... ^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP