shell脚本中使用ssh链接服务器
2023-09-15 15:41 HQS_blog 阅读(503) 评论(0) 编辑 收藏 举报1.建立从服务器A-》B的ssh免密登录
2.在shell脚本中使用ssh
3.遇到的问题:
3.1 不会分配伪终端,因为stdin不是终端 Pseudo-terminal will not be allocated because stdin is not a terminal. Activate the web console with: systemctl enable --now cockpit.socket
ssh -tt 用户名@ip --需要在ssh命令中增加"-tt",作用是那怕不是在终端连接,也会分配伪终端
3.2 脚本如图,执行完ssh -tt root@ip后,并没有继续执行接下来的命令
解决:需要使用 <<EOF 执行的命令 EOF,且结束之前先退出当前子shell
Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。
可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序。
修改的shell如图,可正常执行并退出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架