このエントリーをはてなブックマークに追加


パスワード入力用のシェルスクリプト例

パスワード入力用のシェルスクリプトを以下に記します。
本スクリプトは以下の処理も含んでいます。

  1. 入力文字の非表示
    sttyにより表示/非表示を切替えています。
  2. 入力時にCtrl+Cを押された時の対処
    パスワード入力時、Ctrl+Cを押されてしまうとstty -echoのままとなり、キーボードから入力しても文字が表示されなくなるので、trapにより回復処理を入れています。
  3. その他
    パスワード文字数は8文字以上としています。(ハードコーディングしています)

以上、以下のシェルスクリプトは参考として利用してください。

 

ソース

#!/bin/bash

pwd1=''
pwd2=''

trap "stty echo; exit 1" 2

while :
do
  stty -echo
  echo -n "New Password: "
  read pwd1
  echo
  echo -n "Retype new Password: "
  read pwd2
  echo
  if [ ${#pwd1} -lt 8 -o ${#pwd2} -lt 8 ]; then
    echo "It is way too short."
    continue
  fi
  if [ $pwd1 = $pwd2 ]; then
    break
  else
    echo "Sorry, passwords do not match."
  fi
done
stty echo

exit 0

実行例

passwd-01.gif
 

 

添付ファイル: filepasswd-01.gif 629件 [詳細] filepasswd.sh 535件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:00