パスワードをhistoryに残さず変数にセットする方法
次のようにパスワードを入力してしまうと、historyにパスワードが残ってしまう。
1 2 3 |
pass=password echo $pass history | tail |
そこでread -p "表示文字列" 変数
を使用すると、パスワードを標準入力に入力することを求められ、historyにはパスワード部分が残らなくなる。
-sをつけると入力した文字がコンソールに表示されなくなり、より安全。
1 2 |
read -sp "Password" pass echo $pass |
パスワードをテキストファイルに書きたいが、手順書にパスワードを載せるわけにはいかないような場合、read -spを使う方が手順書に次のように書くより置換漏れが無くなり、オペミスが少なくなる。
1 2 3 4 5 |
# read -spを使わない場合 vi test.txt =================================== id0001,【パスワード※変換してください】 =================================== |
1 2 3 4 5 6 7 8 9 10 |
# read -spを使い、1行の場合 read -sp "Password:" pass && echo "id0001,$pass" > test.txt # read -spを使い、複数行の場合 read -sp "Password:" pass && cat <<EOF > test.txt id0001,$pass id0002,$pass EOF |