この小ノートは bash の組み込みコマンド read を使って操作者に動的にテキストを入力させる方法について記すものだ。

  • bash でユーザーの入力をプロンプトするコマンドとしても read が使える。 オプション -s で端末時に限定。オプション -p PROMPT でプロンプト文字列を出力。
  • 現在端末時の作業かどうかはコマンド tty をサイレントモードで実行して戻り値を判定する。

    local password="$1"
    if [[ -z $1 ]] ; then
        read -sp "Password: " password
        tty -s && echo >&2
    fi
    

以上二点。