使用本地脚本中远程创建的变量

使用本地脚本中远程创建的变量

我有这个脚本:

#!/bin/bash
ssh server bash -c "'
if [[ "\$?" -ne "0" ]]; then
PRINT="N"
echo \${PRINT}
else
PRINT="Y"
echo \${PRINT}
fi
'"
echo $PRINT

但是本地的 $PRINT 是空的,如何将这个变量从远程传递到本地?

谢谢!

答案1

删除远程服务器上另一个 bash 进程的脱壳,然后将完整的命令输出读取到变量中(在本例中为 resp)

#!/bin/bash
resp=$(ssh server '
if [[ "\$?" -ne "0" ]]; then
PRINT="N"
echo \${PRINT}
else
PRINT="Y"
echo \${PRINT}
fi')

echo $resp

相关内容