TCL EXPECT - 输入密码并打印到标准输出并分配给变量



我目前有一个通过SSH连接到多个设备的TCL期望脚本。Ivee使用for循环来重复设备。

我的问题是实际密码在纯文本脚本中定义为变量。我所有设备的密码都相同,因为我们使用的是 TACACS。

我想发生的是,当我输入密码时,没有 STDOUT,当我按 Enter 时,它会将其分配给我的脚本可以使用的变量。

这是我的脚本示例:

set userName "me"
set host "192.168.1.1"
puts "Enter password: "
gets stdin passWord
spawn ssh $userName@$host
expect "*word: "
send "$passWordr"
expect "#"
send "term len 0r"
expect "#"
send "show ip int brr"
expect "#"

谢谢!

您可以使用stty命令:

stty -echo
# there is no echo in terminal
#
stty echo
# return echo back

最新更新