shell - 使用自动密码在另一台服务器上运行远程 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');'"
手动使用并发送密码时,它可以成功运行。我怎样才能让它自动?
解决方案
推荐阅读
- python - 如何使用具有非线性约束的 LMFIT 解决最小二乘问题?
- c# - C#如何使用LINQ获取有条件的子集合项的数量
- c++ - 将数据从一个阵列存储到另外两个阵列中不起作用
- javascript - React Redux onClick 调用操作创建者不工作
- java - Spring Boot Web 应用程序未检测到控制器
- android - Android 房间在第一次通话时不返回任何数据
- python - 如何在内存中执行 sqlalchemy、sqllite 中的存储过程?
- python - 连接不同格式的 YARA 规则
- javascript - 使用外部样式表将 HTML 导出到 DocX
- python-3.x - 迁移到 Tensorflow 2.0,训练现在在第三步后挂起