免费注册 查看新帖 |

Chinaunix

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

[求助,在线等候]写了个Shell, 但传入参数有问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-29 15:57 |只看该作者 |倒序浏览
sbsifadm shell 如下:
其中sbsif 为可执行程序
    killproc sbsif  为:杀掉sbsif


  1. !/bin/sh

  2. echo $#

  3. if [ $# -ne 1 ] ; then
  4.     echo "Usage: sbsifadm -启动方式"
  5.     echo "       启动方式:start-启动 stop-停止 "
  6.     exit 1
  7. fi

  8. case $1 in
  9. -start) sbsif ;;
  10. -stop)  killproc sbsif ;;
  11. *) echo "错误参数" ;;

  12. esac
复制代码


执行效果:
1.
/usr/ibank> sbsifadm -start
程序启动正常

2.
#su - ibank -c sbsifadm -start
提示:
Usage: sbsifadm -启动方式
    echo "       启动方式:start-启动 stop-停止

即传入参数个数不对,  为什么会出现此现象????
shell中 的几个参数是怎样用的? 难道第一个参数用 $1不行吗?

论坛徽章:
0
2 [报告]
发表于 2003-04-29 16:25 |只看该作者

[求助,在线等候]写了个Shell, 但传入参数有问题

I remember if command have parameter, need use double quote include it.

su - ibank -c "sbsifadm -start "

you can try it.

论坛徽章:
0
3 [报告]
发表于 2003-04-29 16:29 |只看该作者

[求助,在线等候]写了个Shell, 但传入参数有问题

#su - ibank -c sbsifadm -start
改为
#su - ibank -c "sbsifadm -start"

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-04-29 16:30 |只看该作者

[求助,在线等候]写了个Shell, 但传入参数有问题

必须用引号将命令括起来:
  1. su - ibank -c "sbsifadm -start"
复制代码

否则su会将sbsifadm作为-c选项的一部分而将"-start"作为它自己的第三个参数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP