使用 OSX 我想在 Expect 中访问 $(pbpaste)。
因此,例如,这个别名连接到一个复制的 IP 地址(假设我在执行它之前复制了它)——让我输入密码:
alias s='ssh $(pbpaste) -l root'
此脚本将我连接到脚本中列出的特定主机,为我输入密码:
#!/usr/bin/expect
spawn ssh hostname -l username
expect "password:"
send "secret\n"
interact
我想将 $(pbpaste) 合并到期望脚本中,以便访问复制的主机并为我输入密码。如何?
附带说明一下,我知道 ssh 密钥,而将密码以纯文本形式输入的形式通常很差。在我的情况下,这并不重要并且对我没有帮助 - 让上述 EXPECT 脚本使用 $(pbpaste) 变量作为主机名的实用程序对我来说更重要。
此外,我也希望能够将主机作为参数而不是 $(pbpaste) 传递。虽然这是原始问题的次要问题 - 每个脚本一个?或者如果没有提供主机参数,则默认为 $(pbpaste)?哪个更容易编写/理解。