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

TCL EXPECT-输入密码并打印到标准输出,然后分配到变量,tcl,expect,Tcl,Expect,我目前有一个TCL expect脚本,它通过SSH连接到多个设备。Ivee使用for循环在设备中重复 我的问题是,实际密码在纯文本脚本中定义为一个变量。我的所有设备密码都相同,因为我们使用的是TACACS 我想做的是,当我键入密码时,没有标准输出,当我按ENTER键时,它会将其分配给脚本可以使用的变量 以下是我的脚本示例: set userName "me" set host "192.168.1.1" puts "Enter password: " gets stdin passWord s

我目前有一个TCL expect脚本,它通过SSH连接到多个设备。Ivee使用for循环在设备中重复

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

我想做的是,当我键入密码时,没有标准输出,当我按ENTER键时,它会将其分配给脚本可以使用的变量

以下是我的脚本示例:

set userName "me"
set host "192.168.1.1"

puts "Enter password: "
gets stdin passWord
spawn ssh $userName\@$host
expect "*word: "
send "$passWord\r"
expect "#"
send "term len 0\r"
expect "#"
send "show ip int br\r"
expect "#"
谢谢

您可以使用stty命令:


你有什么问题?我想在终端中输入密码,但它不应该在标准输出中显示。
stty -echo
# there is no echo in terminal
#

stty echo
# return echo back