APIキーやパスワードをターミナルで入力する際、コマンド履歴や画面出力に残らないようにする手法のまとめ。
read -s で隠し入力
read -s TOKEN_VAL入力待ちになり、キー入力が画面に表示されない。Enterを押すと変数に代入される。コマンド履歴には変数名しか残らない。
入力後メモリの消去
unset TOKEN_VAL使用後は変数を削除し、メモリからトークン値を消去する。
補足: セッション終了でも消える
シェル変数はシェルプロセスのメモリ上にあり、ターミナルを閉じれば消える。unset は「セッションを閉じない場合に後から env や echo で値が確認できないようにする」役割。