通过 ssh 连接时由远程计算机填充全局变量

发布于 2024-10-11 11:58:57 字数 299 浏览 5 评论 0原文

通过 ssh 连接到远程计算机时,我无法填写变量。

我试图在 bash 脚本中执行以下语句:

ssh user@host '$INSTALL_DIR/script/replaceAll.sh'" $orig_val $new_val";

$INSTALL_DIR 是两台机器上的全局变量,每台机器上都有不同的值,而 $orig_val 和 $new_val 是在脚本本身中计算的变量。我使用的是 SunOS 5.10

问题是 $INSTALL_DIR 使用本地值,而它应该使用远程值。你能告诉我我在这里做错了什么吗?

I'm having trouble to fill in a variable when connecting to a remote machine through ssh.

I'm trying to execute the following statement in a bash script:

ssh user@host '$INSTALL_DIR/script/replaceAll.sh'" $orig_val $new_val";

$INSTALL_DIR is a global variable on both machines with a different value on each, while $orig_val and $new_val are variables calculated in the script itself. I'm using SunOS 5.10

The problem is that $INSTALL_DIR uses the local value, while it should be using the remote value. Can you tell me what i'm doing wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迷迭香的记忆 2024-10-18 11:58:57

转义美元符号:

ssh user@host '\$INSTALL_DIR/script/replaceAll.sh'" $orig_val $new_val"

Escape the dollar sign:

ssh user@host '\$INSTALL_DIR/script/replaceAll.sh'" $orig_val $new_val"
滴情不沾 2024-10-18 11:58:57

您的 shell 在将变量传递给 ssh 之前对其进行评估,您需要强制 shell 将参数视为纯文本

your shell's evaluating the variable before passing it to ssh, you need to force the shell to treat the arguments as pure text

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文