実際のところ
"-n"で文字数をきめる
read -n 1 value
キー入力を促す文字を入れ、結果を変数に格納する
read -n 1 -p "Move (w/a/s/d q) :" key
実用例:JOG機能的
コントローラー等でユーザーがロボットを操作しながら位置調整したり検討したりする機能をJOG(ジョグ)機能とか言ったりします
MODE=$1 VAL_X=0 VAL_Y=0 function callPoint() { echo $1 | nc -w 0 DISTIP DISTPORT } function sendPacket() { TARGET=$1 VALUE=$2 if [ $MODE = "DEBUG" ]; then echo echo "$TARGET=$VALUE" echo "start" elif [ $MODE = "REAL" ]; then callPoint "$TARGET=$VALUE" callPoint "start" else printf $1 $2 fi } while : do read -n 1 -p "Move (w/a/s/d q) :" key case "$key" in w) VAL_Y=$(($VAL_Y+200)); sendPacket "y" $VAL_Y;; a) VAL_X=$(($VAL_X-200)); sendPacket "x" $VAL_X;; s) VAL_Y=$(($VAL_Y-200)); sendPacket "y" $VAL_Y;; d) VAL_X=$(($VAL_X+200)); sendPacket "x" $VAL_X;; q) echo "Repeat end." break ;; *) echo "Push w,a,s,d, or q key.";; esac done