文字列を取得する関数

#ask_string() - 文字列を取得
#引数1 入力メッセージ
#引数2 0:入力必須 1:未入力有効
#戻り値 0: 入力あり 1:未入力 _STR:入力文字列
#
ask_string(){
    echo -n "$1"
    while read _STR; do
        if [ ! "$_STR" ]; then
            if [ $2 -eq 1 ]; then
                return 1
            fi
        else
            return 0
        fi
        echo -n "$1"
    done
}
$ . f_askstring.sh 

$ ask_string abc 0
abc
abc def

$ ask_string abc 1
abc