免费注册 查看新帖 |

Chinaunix

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

请教参数传递问题,参数个数动态变化 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-10-20 15:28 |只看该作者 |倒序浏览
高手请赐教:

     我想在SHELL中利用传递的参数进行某些处理,比如要从多台HOSTS中的任意几台上FTP文件,如果传入HOST1,则只从HOST1 GET文件,如果传入HOST1, HOST2,则从这两个HOSTS上GET文件,依此类推。

论坛徽章:
0
2 [报告]
发表于 2003-10-20 15:37 |只看该作者

请教参数传递问题,参数个数动态变化

cont=$#
while [ ${i:=1} -le $cont ]
do
ftp -n $1<< !
user username passwd
.....
!
i=`expr $i + 1`
shift
done

论坛徽章:
0
3 [报告]
发表于 2003-10-20 15:54 |只看该作者

请教参数传递问题,参数个数动态变化

多谢赐教!

只是还有点问题,错误提示“BAD SUBSTITUTION"  

我输入的参数格式 ”255.255.255.255“ , 在SHELL中ECHO ${$1} 结果也是我输入的IP, 请问,现在问题可能出在哪?   谢谢!

论坛徽章:
0
4 [报告]
发表于 2003-10-20 16:02 |只看该作者

请教参数传递问题,参数个数动态变化

第一次我没测试就写上去了
后来测试了以后和你出现同样的问题,不过我已经纠正过来了,是那个${$i}用法不对。
你再用上面的试试

论坛徽章:
0
5 [报告]
发表于 2003-10-20 16:24 |只看该作者

请教参数传递问题,参数个数动态变化

多谢了!

我测试通过了,万分感谢!
能否再解答我比较弱的问题,说说三行的含义${i:=1} 中的1我替换别的为什么通不过?

${i:=1}
i=`expr $i + 1`
shift

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

请教参数传递问题,参数个数动态变化

想必SMILEINWIND是位高手,那我可否在贪婪一点,帮我些个SHELL,希望能把多个文件及其大小对应保存下来?

3X   

论坛徽章:
0
7 [报告]
发表于 2003-10-20 17:36 |只看该作者

请教参数传递问题,参数个数动态变化

能否再解答我比较弱的问题,说说三行的含义${i:=1} 中的1我替换别的为什么通不过?

${i:=1}
i=`expr $i + 1`
shift

${i:=1} 是变量替换,当i没赋值时以1作为i的值,并改变i的值为1。
i=`expr $i + 1` 是算术运算,将i的值加1,expr是个算术运算命令,计算其后表达式的值。
shift 是将所有命令行参数左移一位。即$2变为$1,$3变为$2。。。

想必SMILEINWIND是位高手,那我可否在贪婪一点,帮我些个SHELL,希望能把多个文件及其大小对应保存下来?

不太明白???

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2003-10-20 19:52 |只看该作者

请教参数传递问题,参数个数动态变化


  1. for $*
  2. do
  3.    ......
  4. done
复制代码
形式可能会好一点。

论坛徽章:
0
9 [报告]
发表于 2003-10-21 10:33 |只看该作者

请教参数传递问题,参数个数动态变化

对啊!!

真是简单直观!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP