酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

SSH远程连接执行多行代码并获取返回码:expect与bash脚本双方法揭秘

在SSH远程连接中执行多行代码并获取返回码,你可以使用`expect`或`bash`的命令行选项来实现。这里提供两种方法: 1. 使用`expect`: `expect`是一个用于自动化交互式程序的工具,特别适合处理需要输入用户名、密码等场景。以下是一个简单的例子: ```bash #!/usr/bin/expect set timeout -1 ;# 设置超时时间无限长 spawn ssh user@host "command1; command2; command3" expect "$" ;# 等待命令提示符 set result $expect_out(buffer) ;# 保存输出结果 expect "$?" ;# 获取最后一条命令的返回码 puts "Return code: $expect_status" ``` 这里,`command1; command2; command3`是你要执行的多行代码。 2. 使用bash脚本: 如果你不想使用`expect`,也可以直接在bash脚本中执行多行命令,并通过` $?`获取最后一条命令的返回码。例如: ```bash #!/bin/bash ssh user@host << EOF command1 command2 command3 echo $? EOF ``` 这里,`<< EOF`开始一个多行字符串,直到`EOF`结束。最后一行的`echo $?`会打印出最后一条命令的返回码。 请确保替换`user@host`和`command1; command2; command3`为你的实际值。 ######[AI写代码神器 | 338点数解答 | 2024-05-23 10:09:13]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]