環境変数のファイル内容

環境変数のファイル内容

資格情報をディスクに完全に書き込むのを避けたい。環境変数から資格情報を読みたいです。ただし、一部のスクリプトでは、その資格情報を読み取るには、ディスクに資格情報ファイルが必要です。バイナリファイルの場合、特に扱いにくく、スクリプトを修正する方法もありません。そして、他の場所で読むことができるcliオプションもありません。 gam(Google App Manager)がそのような例の1つです。

質問:保存された資格情報の値を期待するバイナリを何らかの方法で環境変数から抽出する方法はありますか?

理想的なソリューションはLinux / Unixで動作するはずです。

ベストアンサー1

カーニバルプロセスの交換ファイルのように動作します。

some-program-that-reads-a-file <(echo "$MY_ENV_VAR")
#..............................^^..................^

以下は、プログラムがプロセス置換をどのように見るかについてのデモです。 awkを使用して引数を印刷します。

$ awk 'BEGIN {for (i=0; i<ARGC; i++) print i, ARGV[i]}' <(echo $HOME)
0 awk
1 /dev/fd/63

他のシェルはプロセスの置き換えに異なる構文を使用します。

  • 扱いにくい
    some-program =(echo $VAR)
    
  • some-program (echo $VAR | psub)
    
  • ksh、bashと同じ

特定のファイルが必要な場合は、FIFOを使用してください。

mkfifo ~/tmp/creds-file.pem
printf '%s' "$var" > ~/tmp/creds-file.pem &

cat ~/tmp/creds-file.pem

おすすめ記事