【问题标题】:Assign variable on a remote server在远程服务器上分配变量
【发布时间】:2019-04-26 11:36:04
【问题描述】:

我正在尝试使用 SSH 分配变量。我想简单地回显变量的内容。这是我的小脚本:

#!/bin/bash
IP_PUBLIC="192.168.0.1"
ssh -oStrictHostKeyChecking=no root@"$IP_PUBLIC" '
    COMMUNITY=$(uname -n);
    echo '"$COMMUNITY"';
'

每次我运行它都会回显一个空行。我希望回显机器的主机名

【问题讨论】:

  • 尝试将-t 添加到您的 SSH 命令中。
  • 我得到了同样的结果

标签: bash shell ssh


【解决方案1】:

你只需要去掉内部的单引号。

#!/bin/bash
IP_PUBLIC="192.168.0.1"
ssh -oStrictHostKeyChecking=no root@"$IP_PUBLIC" '
    COMMUNITY=$(uname -n);
    echo "$COMMUNITY";
'

外部单引号已经保护了它们内部的所有内容不受本地外壳的影响;远程外壳接收

COMMUNITY=$(uname -n);
echo "$COMMUNITY"

执行,正确引用。

【讨论】:

    猜你喜欢
    • 2014-07-10
    • 1970-01-01
    • 2016-01-28
    • 2018-03-14
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多