読者です 読者をやめる 読者になる 読者になる

私をペロペロするがよい

lazy_dog のブログです。

Linux Shell: パスワードを聞くシェルスクリプトのサンプル

Linux スクリプト

パスワード聞いてくるあれをシェルスクリプトで実装してみた。bashzsh で動いていることを確認。

スクリプトサンプル

# パスワードを尋ねる

echo ""
echo -n 'password: ' && read -s root_passwd1
echo ""
echo -n 'retype password: ' && read -s root_passwd2
echo ""
echo ""


## パスワードをチェックする。だめだったら、再度聞く。それでもだめならループ。

if [ "${root_passwd1}" != "${root_passwd2}" ]; then

    until [ "${root_passwd1}" = "${root_passwd2}" ]
    do

        echo "Password mismatch. Please retry."
        echo ""
        echo -n 'password: ' && read -s root_passwd1
        echo ""
        echo -n 'retype password: ' && read -s root_passwd2
        echo ""
        echo ""

    done 
fi
echo ""
echo ""


## パスワードを設定する
echo "password for root user"
echo ""

echo "root:"${root_passwd1}"" | chpasswd

read で文字入力を変数に入れつつ、同じ行に echo で文章出すとき、zshbash とで挙動が違って苦労した覚えがある。