![使用本地脚本中远程创建的变量](https://linux22.com/image/120006/%E4%BD%BF%E7%94%A8%E6%9C%AC%E5%9C%B0%E8%84%9A%E6%9C%AC%E4%B8%AD%E8%BF%9C%E7%A8%8B%E5%88%9B%E5%BB%BA%E7%9A%84%E5%8F%98%E9%87%8F.png)
我有这个脚本:
#!/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