我看了其他有关在远程ssh中传递变量的帖子,但那些解决方案似乎对我不起作用。
这是我的情况:我正在通过shell脚本(在本地机器上)填充变量的值,然后通过ssh在另一个系统上使用它们。我知道为什么这不起作用,但我想找到一种方法,在通过ssh访问的另一个系统上使用本地shell中的值。
BUILD_SERVER="my_server"
ANOTHER_SERVER="my_server2"
ssh $USERNAME@$BUILD_SERVER << 'ENDSSH'
echo "$BUILD_SERVER"
echo "$ANOTHER_SERVER"
ENDSSH
当我运行这段代码时,这些变量为空。有没有办法将值传递给ssh?
ssh -p $deployServerPort -t $deployServerUser@$deployServerIp "sudo bash \"$deployShellScript\" 'true'"
我的问题是,字符串true
没有被识别。我想将true
传递给$deployShellScript
脚本。 - Andi Giga$LOCAL_SERVER
变量位于您的本地计算机或调用 ssh 的计算机上,而\$LOCAL_SERVER
是在远程计算机上展开的该变量。我认为您也需要转义 true。(例如\"true\"
) - hax0r_n_code