Wener Site

expect

约 1 分钟阅读
text
set username [lindex $argv 0];
set password [lindex $argv 1];

# 显示
send_user "$username $password"

# 默认参数
set argv [lassign $argv username password]
if {$username eq ""} {set username default_user}
if {$password eq ""} {set password default_password}

SSH 输入密码

bash
#!/usr/local/bin/expect
spawn ssh [email protected]
expect "password:"
send "PASSWOPD\n";
interact

SCP 发送文件

bash
#!/usr/local/bin/expect
set argv [lassign $argv src dst]
if {$dst eq ""} {set dst $src}

spawn  scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P 22 $src [email protected]:/tmp/$dst
expect "password:"
send [exec cat password.txt];
send "\n"
interact

嵌入到 Shell

bash
expect <(cat << EOD
# ...
interact
EOD
)

FAQ

interact: received eof from spawn_id exp0

避免用 stdin 传入脚本

关联信息

反向链接和本文引用的外部资料。

References

其他外链

1 条
最近更新commit 0fc8dfbEdit

On this page