端末から1文字だけ読み込む

stty wawコマンドを実行すると端末はrawモードに設定され
入力1文字ごとにデータをプログラムに渡すようになる
端末を元に戻すには stty -raw とする

#!/bin/sh
#getchar.sh

echo "Hit any key!"
stty raw -echo
char=`dd bs=1 count=1 2>/dev/null`
stty -raw echo
echo "Key pressed: '$char'"
$ ./getchar.sh 
Hit any key!
Key pressed: 'a'