Bash
Zsh

Yes/Noで答えるプロンプト

More than 3 years have passed since last update.

ちょっとしたshellscriptを書いていたときに分からなかったので調べた。zsh, bashでreadコマンドのオプションが違ったのでメモしておく。

#!/bin/zsh

while true; do
read Answer\?'Do you like coffee? [Y/n]'
case $Answer in
'' | [Yy]* )
echo Yes!
break;
;;
[Nn]* )
echo No!
break;
;;
* )
echo Please answer YES or NO.
;;
esac
done

#!/bin/bash

while true; do
read -p 'Do you like coffee? [Y/n]' Answer
case $Answer in
'' | [Yy]* )
echo Yes!
break;
;;
[Nn]* )
echo No!
break;
;;
* )
echo Please answer YES or NO.
esac
done
;