シェルスクリプトで入力待ちをする際に、実行者に向けてコメントを出すパターンがあるけど
[hoge@server scripts]$ ./samplescript.shyes か no を入力 [ yes | no ] : yes
yes が入力
今までは echo -n を使ってこうやって書いてた。
#!/usr/bin/shecho -n "yes か no を入力 [ yes | no ] : "
read yes_no
case $yes_no in
yes) echo "yes が入力" ;;
no) echo "no が入力" ;;
*) echo "yes でも no でもない" ;;
esac
ただ、read にメッセージを出すオプションがあると始めって知った。こう書ける
#!/usr/bin/shread -p "yes か no を入力 [ yes | no ] : " yes_no
case $yes_no in
yes) echo "yes が入力" ;;
no) echo "no が入力" ;;
*) echo "yes でも no でもない" ;;
esac
たまに man 眺めると発見がいっぱいという話。