在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`为你的实际值。 [2024-05-23 10:09:13 | AI写代码神器 | 338点数解答]