【问题标题】:TCL EXPECT - Enter password with printing to stdout and assign in to a variableTCL EXPECT - 输入密码并打印到标准输出并分配给变量
【发布时间】:2017-12-30 18:25:46
【问题描述】:

我目前有一个通过 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 "$passWord\r"
expect "#"
send "term len 0\r"
expect "#"
send "show ip int br\r"
expect "#"

谢谢!

【问题讨论】:

  • 你有什么问题?
  • 我想在终端输入我的密码,但它不应该在标准输出中显示。

标签: tcl expect


【解决方案1】:

你可以使用stty命令:

stty -echo
# there is no echo in terminal
#

stty echo
# return echo back

【讨论】:

    猜你喜欢
    • 2011-09-14
    • 1970-01-01
    • 2020-03-16
    • 2013-05-01
    • 1970-01-01
    • 2011-03-27
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多