用于根据远程文件的定义在本地定义导出变量的 AIX ksh 脚本

用于根据远程文件的定义在本地定义导出变量的 AIX ksh 脚本

我必须从另一台服务器上的远程文件获取“导出”行,然后动态设置当前的 sh 会话环境。

但是,导出的回显似乎不起作用。

echo `导出 CONFIGA=configurationA`

我尝试尽可能通用且简单地创建此脚本,因为远程文件中有许多导出语句,但并非全部都被使用。我需要的语句将由某些模式决定,但这些语句的数量也是动态的。

现在我想知道这是否可以在 ksh 脚本中完成,但目前我没有其他选择。

答案1

可能有一种更优雅的方法来执行此操作,但是您可以将所需的变量从该远程文件提取到本地临时文件中:

file=/tmp/tempfile.$RANDOM ## AIX doesn't come with mktemp
> $file || echo Failed to pick a good tempfile name
grep "export CONFIG.=" some-file > $file

然后使用.内置函数读取该文件:

. $file

当然,还要清理:

rm $file

相关内容