例えば CLI アプリケーションを実行するのに何らかのクレデンシャルが必要な時、アプリケーション側で環境変数に対応してくれている場合はこんな感じでやるといいよと職場の方に教えてもらった。
自分は zsh を使ってるので、その前提で話を進めますがどのシェルでも大きく変わらない話のはずです。
ホームディレクトリ以下に .credentials
的なディレクトリを作り、クレデンシャル名と同じファイル名に値を書いておく。
$ echo "INSERT_YOUR_USER_ID" > hoge_user_id
$ echo "INSERT_YOUR_ACCESS_TOKEN" > hoge_access_token
そして .zshenv
などで環境変数にセットしてあげる。
export HOGE_USER_ID=$(<~/.credentials/hoge_user_id)
export HOGE_ACCESS_TOKEN=$(<~/.credentials/hoge_access_token)
👆 は export HOGE_USER_ID=`cat ~/.credentials/hoge_user_id`
的な感じでも書けるようだ。バッククオート記法の方が sh との互換性があるそう。
これでOK。
$ echo $HOGE_USER_ID
INSERT_YOUR_USER_ID
でもそもそも環境変数にクレデンシャル入れるのセキュリティ的にどうなのって議論もあるようですね。
セキュリティ、環境変数、そして - diary.sorah
参考
変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス