如何向expect脚本里面传递参数

 我来答
百度网友4d3212ddb5e
2016-10-17 · TA获得超过3575个赞
知道大有可为答主
回答量:2955
采纳率:93%
帮助的人:487万
展开全部
  比如下面脚本用来做ssh无密码登陆,自动输入确认yes和密码信息,用户名,密码,hostname通过参数来传递
  
  ssh.exp
  
  Python代码
  #!/usr/bin/expect
  set timeout 10
  set username [lindex $argv 0]
  set password [lindex $argv 1]
  set hostname [lindex $argv 2]
  spawn ssh-copy-id -i .ssh/id_rsa.pub $username@$hostname
  expect "yes/no"
  send "yes\r"
  expect "password:"
  send "$password\r"
  
  expect eof
  
  执行脚本./ssh.exp root pasword hostname1
  
  expect接收参数的方式和bash脚本的方式不太一样,bash是通过$0 ... $n 这种方式,而expect是通过set <变量名称> [lindex $argv <param index>],例如set username [lindex $argv 0]
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式