gpt4 book ai didi

linux - Bash 在远程上下文中使用之前在本地解析变量

转载 作者:太空宇宙 更新时间:2023-11-04 10:18:56 26 4
gpt4 key购买 nike

我有一个脚本可以在远程机器上设置一些环境变量,但我遇到了一些变量在远程机器的上下文中被解析的问题。这些变量必须在发送到远程之前被解析。

#!/bin/bash
devIP=$(ifconfig | sed -En \'s/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p')
#10.0.0.1

ssh -A ubuntu@remote '\
export variable="$devIP";\
echo $variable'
#Will echo blank as it is trying to resolve $devIP under the remote context.

我怎样才能正确地将脚本执行器的 IP 提供给远程机器上的环境变量?

最佳答案

考虑以下命令

ssh -A ubuntu@remote "\
export variable=$devIP;\
echo \$variable"

此处变量替换是在本地机器上对命令行参数中的变量$devIP执行的

export variable=$devIP; echo \$variable

因为双引号。

然而,变量 $variable 受到反斜杠的保护,不会被本地替换。

关于linux - Bash 在远程上下文中使用之前在本地解析变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44753665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com