通过 ssh 连接时由远程计算机填充全局变量
通过 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
转义美元符号:
Escape the dollar sign:
您的 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