免费注册 查看新帖 |

Chinaunix

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

请教为什么我的getops中的case没起作用啊 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-12-25 18:52 |只看该作者
终于明白了,原来带了的getopts一但把命令写成..-x h后程序就只会对x的进行处理,如果后面还带有其他的参数也会忽略掉,至于那个'USAGE: getopts.sh [-x] [-y arg] [-z arg ] file ...‘ 是我自己用了大写的X Y的缘故哈,谢谢各位帮助哈

论坛徽章:
0
12 [报告]
发表于 2006-12-05 14:50 |只看该作者
都写的什么垃圾阿,抄别人的例子过来有不动脑子的东西,简单一点说取命令行参数简单的例子


  1. #!/bin/bash

  2. while getopts "x:y:z:" opt;
  3. do
  4. case $opt in
  5.         x) xopt=$OPTARG;;
  6.         y) yopt=$OPTARG;;
  7.         z) zopt=$OPTARG;;
  8.         \? ) echo 'USAGE: getopts.sh [-x] [-y arg] [-z arg ] file ...'
  9.           exit 1
  10.   esac
  11. done
  12. echo $xopt;
  13. echo $yopt;
  14. echo $zopt;

复制代码

论坛徽章:
0
13 [报告]
发表于 2006-12-05 14:53 |只看该作者
写过C的同学肯定知道这是为啥。。。。。。抄外国人的例子麻烦别抄那么土
$OPTARG 为环境变量,在c里边相当于全局变量,参数申明后面跟冒号的就可以通过循环从$OPTARG读取。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP