每当我尝试使用在 SSH 会话中声明的变量时,它都会给出空白输出。这是我试图执行的代码:
ssh -T host <<\HERE
export usage1=$(df -h |grep /nas/infa|sed s/%//g| awk '{printf("%d\n",$4)}');
echo $usage1
HERE
echo $usage1
我能够在 SSH 会话内获得所需的输出,但是当在 SSH 外部调用相同的变量时,它给我空白。
答案1
要将远程执行命令的值获取到本地环境中的变量中,与将本地执行命令的值获取到本地环境中相同,例如,
export usage1=$(ssh -T host <<\HERE
df -h|grep /nas/infa|sed s/%//g|awk '{printf("%d\n",$4)}'
HERE
)
echo $usage1