[解決済み] Bash/Terminalで複数行の環境変数を書き出す方法 例: RSA秘密鍵
質問
アプリの一つ
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-----': not a valid identifier
の指示に従った。 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 PRIVATE_KEY=`cat ./gitbu.2018-03-23.private-key.pem`
test.sh
#!/bin/bash
echo "$PRIVATE_KEY";
キーを保存したい場合は
.env
ファイルを作成し、残りの環境変数と一緒に保存する必要があるのは、秘密鍵の文字列を
シングルクォート
を
.env
ファイル ... 例
sh exports HELLO_WORLD='-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA04up8hoqzS1+APIB0RhjXyObwHQnOzhAk5Bd7mhkSbPkyhP1 ... iWlX9HNavcydATJc1f0DpzF0u4zY8PY24RVoW8vk+bJANPp1o2IAkeajCaF3w9nf q/SyqAWVmvwYuIhDiHDaV2A== -----END RSA PRIVATE KEY-----'
そこで、次のようなコマンドを実行するとうまくいきます。
echo "export PRIVATE_KEY='`cat ./gitbu.2018-03-23.private-key.pem`'" >> .env
に続く。
source .env
これで、キーは.envファイル内に存在することになり、.envをソースとするときはいつでもエクスポートされるようになります。
関連
-
[解決済み] bash スクリプトを実行しているドッカーエントリーポイントが "パーミッション拒否" になる
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
-
[解決済み] エクスポートされた環境変数を削除する方法を教えてください。
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] ターミナルで現在の行をクリア/削除するにはどうすればよいですか?
-
[解決済み] Bashで変数が数値であるかどうかをテストするにはどうすればよいですか?
-
[解決済み] Bashスクリプトからソースなしで環境に変数をエクスポートすることはできますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】シェルスクリプトで整数式が期待されるエラーが発生する
-
[解決済み] bash : cd : 引数が多すぎる [閉店].
-
[解決済み] ファイルに書き込むが、ファイルが存在する場合は上書きする
-
[解決済み] rsyncです。--include-from vs. --exclude-from 実際の違いは何ですか?
-
[解決済み] ssh / リモートbashコマンドでシングルクォート文字をエスケープするにはどうすればよいですか?
-
[解決済み] Curl:応答を待たない[重複]。
-
[解決済み] Bashで最新のディレクトリを変数に取得する
-
[解決済み] あいまいなリダイレクト」エラーが発生する
-
[解決済み] grepの出力に含まれる重複を削除する
-
[解決済み] シェルスクリプトでの連想配列