首页 > 解决方案 > 使用自动密码在另一台服务器上运行远程 hive 命令失败

问题描述

我在另一台远程服务器上运行 hive 命令,但它需要密码,我想用密码自动运行它,所以我使用了该expect命令,但它什么也没做,我的 shell 代码:

expect<<EOF
spawn ssh user@ip "hive -e 'use db; insert into table my_table values('a', 'b');'"
expect "*password:"
send "mypassword\r"
expect eof
EOF

当我ssh user@ip "hive -e 'use db; insert into table my_table values('a', 'b');'"手动使用并发送密码时,它可以成功运行。我怎样才能让它自动?

标签: shellhiveexpectspawn

解决方案


推荐阅读