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

Bash resolve variables locally before used in a remote context

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

#!/bin/bash
devIP=$(ifconfig | sed -En \'s/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*//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 受到反斜杠局部替换的保护。