我们的一个应用程序github-backup
需要使用RSA私钥作为环境变量。
仅尝试在终端中导出密钥,例如:text export PRIVATE_KEY=-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA04up8hoqzS1+ ... l48DlnUtMdMrWvBlRFPzU+hU9wDhb3F0CATQdvYo2mhzyUs8B1ZSQz2Vy== -----END RSA PRIVATE KEY-----
不起作用...因为有换行符。
我搜索了一下,但没有找到可行的解决方案...例如:
如何为AWS Elastic Beans设置多行RSA私钥环境变量
-----END RSA PRIVATE KEY-----': 不是一个有效的标识符
按照以下说明进行操作:
http://blog.vawter.com/2016/02/10/Create-an-Environment-Variable-from-a-Private-Key
创建名为keytoenvar.sh
的文件并添加以下行:#!/usr/bin/env bash
file=$2
name=$1
export $name="$(awk 'BEGIN{}{out=out$0"\n"}END{print out}' $file| sed 's/\n$//')"
然后运行以下命令:
source keytoenvar.sh PRIVATE_KEY ./gitbu.2018-03-23.private-key.pem
那个方法可行,但似乎是一种繁琐的方式...
有人知道更简单的方法吗? (我希望有一种适合初学者的解决方案,不要太多步骤...)
export $var
,但应该改为通过名称export var
。无论如何,答案很简单:bash
允许多行字符串字面量,只要它们被引用。可以使用单引号或双引号。 - MarkHu