我希望使用 shell 来调用远程服务器上的脚本。我想捕获该脚本的输出(其日志消息)及其返回的退出代码。
如果我这样做:
ssh user@server /usr/local/scripts/test_ping.sh
echo "$?"
Run Code Online (Sandbox Code Playgroud)
我得到了退出代码,但无法捕获远程日志消息。
如果我这样做:
local RESULTS=$(ssh user@server /usr/local/scripts/test_ping.sh)
echo "$?"
LOG "${RESULTS}";
Run Code Online (Sandbox Code Playgroud)
我可以使用我的 LOG 函数记录我的输出,但似乎无法获得正确的退出代码,我假设我获得的代码是来自变量赋值的代码。
我想继续使用我的 LOG 函数来捕获所有输出,因为它为我格式化并将内容发送到文件、系统日志和屏幕。
如何在 var 中捕获结果并从远程脚本中获取正确的退出代码?