期望脚本提供多个输入

Expect script to give multiple inputs

我想通过 ssh 连接到服务器列表并使用 expect 脚本在每台服务器上设置唯一值。

示例: 我有 10 个服务器。服务器 1 到 10 我有服务器 assettag1 到 10 的资产标签。 我想通过 ssh 连接到每台服务器并更新每台服务器上的资产标签值。

谢谢, 苏库马尔

这是一个可能对您有帮助的脚本。 如您所见,值作为参数传递给 myscript.sh,其中 expect 代码所在。

#!/bin/bash
adresses=("192.168.1.1" "192.168.1.2" "192.168.1.3" "192.168.1.4" "192.168.1.5" "192.168.1.6" "192.168.1.7")
hostnames=("ap02" "ap03" "ap04" "ap05" "ap06" "ap07" "ap08")

### Main ###
for cpt in {0..6}
do
        ./myscript.sh ${adresses[${cpt}]} ${hostnames[${cpt}]}
        cpt=$(( $cpt +1 ))
done

下面是我如何使用 myscript.sh

中的参数
#!/usr/bin/expect
set ipaddr [lindex $argv 0];
set hostname [lindex $argv 1];
...

其中 $argv 0 是第一个参数,$argv 1 第二个参数