hht769089161 2015-08-03 05:35 采纳率: 14.3%
浏览 3162

在shell中使用参数的时候出现不是别$1 $2的情况

 #!/usr/bin/expect -f
set host $1
set passwd $2
set name root

#for host in "$1"
#for passwd in "$2"

spawn ssh $host -l $name
expect "root@$host’s password:"
send "$passwd\r"

send"uname\n"
expect"LINUX"
send_user"success"

expect"Permission denied,please try again."
send_user"wrongnumber"

传入的两个参数是目标ip和密码,实现自动ssh的功能,是不是因为用了expect导致了这种情况?
错误如下:
can't read "1": no such variable
while executing
"set host $1"
(file "/home/hht/workspace/work1/ssh1.sh" line 2)

  • 写回答

1条回答 默认 最新

  • lingzhu111 2015-08-07 08:33
    关注

    set host [lindex $argv 1]

    评论

报告相同问题?

悬赏问题

  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 spring后端vue前端
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题