SSH 环境变量如何与 shell 脚本文件一起使用?

Posted

技术标签:

【中文标题】SSH 环境变量如何与 shell 脚本文件一起使用?【英文标题】:How SSH Environment Variables works with shell script file? 【发布时间】:2020-05-31 19:24:51 【问题描述】:

如果我运行下面的命令并且我的install.sh 有以下部分:

export S3_URL=$PRD_URL
export S3_ACCESS_KEY=$PRD_S3_ACCESS_KEY
export S3_SECRET_KEY=$PRD_S3_SECRET_KEY

cat install.sh | ssh $PRD_USER@$PRD_HOST

$PRD_S3_ACCESS_KEY 将从远程服务器的my hostenvironment variables 解析?

【问题讨论】:

远程。 Cat'ting 不会评估文件中的变量。 @tink 有没有办法从我的主机上进行评估? 如果您在上面重新表述您的问题,使其与下面的评论@philippe 的回答相匹配,那么您就可以做到;) 【参考方案1】:

假设您安装了gettext(其中包含 envsubst),您可以这样做

envsubst < install.sh | ssh $PRD_USER@$PRD_HOST

【讨论】:

以上是关于SSH 环境变量如何与 shell 脚本文件一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在脚本期间设置环境变量?

Jenkins SSH 插件 - 根据任务(构建/发布)执行不同的 shell 脚本命令 - 环境变量

shell脚本ansible执行不成功

Linux Shell基础 环境变量配置文件

shell实现SSH自动登陆

如何通过环境变量传递 ssh 密钥密码