2017-07-25 79 views
0

我目前有一个TCL期望脚本,通过SSH连接到多个设备。 Ivee使用for循环来重复使用这些设备。TCL EXPECT - 输入密码并打印到标准输出并分配给变量

我的问题是,实际的密码被定义为纯文本脚本中的变量。自从我们使用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 "$passWord\r" 
expect "#" 
send "term len 0\r" 
expect "#" 
send "show ip int br\r" 
expect "#" 

谢谢!

+0

什么是你的问题? – pynexj

+1

我想在终端输入我的密码,但它不应该在标准输出中显示。 –

回答

1

可以使用stty命令:

stty -echo 
# there is no echo in terminal 
# 

stty echo 
# return echo back 
+0

适用于我的情况。谢谢! –

相关问题