linux ssh 远程执行shell 获取返回值

复制代码
#!/bin/bash
 


SCRIPT='cd / && ls'

result=$(ssh -o StrictHostKeyChecking=no root@10.204.0.1 $SCRIPT)
echo "result: $result"

或者下面

# 远程服务器的IP地址或主机名
HOST='remote_host'
# 远程服务器的用户名
USER='username'
# 远程执行的脚本
SCRIPT='/path/to/remote/script.sh'
 
# 使用SSH执行远程脚本并获取返回值
RESULT=$(ssh -o StrictHostKeyChecking=no $USER@$HOST $SCRIPT)
 
# 输出远程脚本的返回值
echo "Remote script returned: $RESULT"
 
# 退出码为远程脚本的退出码,用于检查执行状态
exit $?

确保你有权限在远程服务器上执行该脚本,并且SSH密钥已经设置好,以便无需密码即可进行远程登录。如果没有设置SSH密钥,你可能需要使用-p参数指定密码,但这通常不推荐,因为它会在脚本中明文传递密码,存在安全风险。

在上面的脚本中,$SCRIPT是远程服务器上你想要执行的脚本路径。$()用于命令替换,执行括号内的命令,并将输出赋值给RESULT变量。ssh命令的-o StrictHostKeyChecking=no选项用于在首次连接到远程服务器时不需要确认远程主机的指纹。

请注意,如果远程脚本返回的内容包含换行符或特殊字符,可能需要额外的处理来正确捕获和显示结果。

相关推荐
AlfredZhao8 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346614 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪15 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
小宇宙Zz1 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信