bash - 如何通过 SSH 使用 CURL 并获取文件以及返回值?
问题描述
我想从客户端网络服务器加载文件。此网络服务器仅在本地运行。要到达那里,我必须使用 ssh。我需要内容和返回值(例如 SSH 连接中断,网络服务器关闭)。
我必须改变什么?我的第一次尝试:
#!/bin/bash
RETURN=0
CONTENT=""
sshpass -p xxxxxx ssh root@172.17.1.33 "curl -X POST http://127.0.0.1:10000/status -H 'Content-Type: application/json' > $CONTENT | bash; RETURN=$?"
解决方案
如果要获取 的退出代码curl
和返回值curl
:
#!/bin/bash
CONTENT=$(sshpass -p xxxxxx ssh root@172.17.1.33 "curl -X POST http://127.0.0.1:10000/status -H 'Content-Type: application/json'")
RETURN=$?
echo "$RETURN, $CONTENT"
在您的脚本中,您在 ssh 进入的服务器上设置变量。