免费注册 查看新帖 |

Chinaunix

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

传递变量的变量的问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-04 08:57 |只看该作者 |倒序浏览
下面这段代码有问题,就是关于传递变量的。


  1. #!/bin/sh

  2. exp_para=''
  3. icount=1
  4. for i
  5. do
  6. exp_para=`echo "$exp_para" '\"''$'${icount}'\"' `
  7. icount=`expr $icount + 1`
  8. done

  9. echo /root/ftp/rshell.exp 192.100.100.212 `eval echo \${exp_para}`
  10. /root/ftp/rshell.exp 192.100.100.212 `eval echo \${exp_para}`
  11. echo "finished"
复制代码


echo的结果如下:
/root/ftp/rshell.exp 192.100.100.212 "cd /root" "ls -la"

在rshell.exp中用
send_user "\n count=[llength $argv] \npara:[lrange $argv 0 5] \n"
来看,结果如下:

count=5
para:192.100.100.212 {"cd} /root\" {"ls} -la\"

结果不是我想要的 {cd /root} {ls -la}
相同的命令,在命令行下就可以通过。
能告诉我是怎么回事吗?

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

传递变量的变量的问题。

...

count=3
para:192.100.100.212 {cd /root} {ls -la}

上面是我原封不动运行你的代码的结果

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

传递变量的变量的问题。

红袖您好,您是什么样的环境?
我的expect版本:expect version 5.38.0
本机和目标机的OS版本:solaris 2.6 for sparc

我在目标机器上测试了/bin/sh;/sbin/sh;/bin/tcsh;/bin/ksh,都是一样的结果。
我的rshell.exp如下:
#rshell.exp开始
set timeout 1200
set logname xxx
set password xxxxxx
set PROMPT *]/
spawn telnet [lindex $argv 0]
expect "login*"
send "$logname\r"
expect "assword:"
send "$password\r"
send_user "\n count=[llength $argv] \npara:[lrange $argv 0 5] \n"
expect "*]/"
send "exit\n"
expect eof
#rshell.exp结束

结果还是如贴子中有问题。
真是非常奇怪。

论坛徽章:
0
4 [报告]
发表于 2003-04-06 22:20 |只看该作者

传递变量的变量的问题。

...

我是想在 Solaris 下用的, Solaris 2.7, 2.8 for sparc, 可是上面没有 expect. 偶又没权限安装.

偶都是在家用 OpenBSD 试的.

论坛徽章:
0
5 [报告]
发表于 2003-04-07 08:51 |只看该作者

传递变量的变量的问题。

原帖由 "红袖添香" 发表:
...

我是想在 Solaris 下用的, Solaris 2.7, 2.8 for sparc, 可是上面没有 expect. 偶又没权限安装.

偶都是在家用 OpenBSD 试的.


真郁闷。红袖老大竟然没有权限安装,象您这样的棒管理员哪儿找去呀。哎,埋没人才呀

论坛徽章:
0
6 [报告]
发表于 2003-04-07 18:34 |只看该作者

传递变量的变量的问题。

原帖由 "wangrujun"][quote:331663cb61="红袖添香" 发表:
...

我是想在 Solaris 下用的, Solaris 2.7, 2.8 for sparc, 可是上面没有 expect. 偶又没权限安装.

偶都是在家用 OpenBSD 试的.


真郁闷。红袖老大竟然没有权限安装,象您这样的棒管理员哪儿找去呀。哎,埋没人才呀[/quote]

过奖了呀, 偶可不是什么ADMIN...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP