B! 26 0 0 0 trashコマンドを拡張 している時に、選択画面で上下するときにVimみたくCtrl-F で1画面進む、みたいなことしたいな、と思って Controlキーを含んだ入力をreadで読み取って扱う方法を取り入れたのでそのメモ。 入力キー1つを受け取る Controlと同時押しのキーを受け取る Tips 8進数または16進数で書くときの注意 Ctrl-Cを使いたい場合 水平タブ(Ctrl-I)等を使いたい場合 使えない文字 ESCを判断する まとめ 入力キー1つを受け取る 入力キーを1つ受け取るにはBashでは read -s -n 1 c Zshでは read -s -k 1 c とします。 スクリプトがこの時点まで進んだ時に入力待ちになって、 何か1つでもキーを押すと、そのキーがcに入ります。 必要なら直前に echo -n "input: " とでも出しておけばわか
![シェルスクリプトのreadでControl-a等を読み取る: ANSI C quoting](https://cdn-ak-scissors.b.st-hatena.com/image/square/bd362dce5e876cf2b6ddb03775873bb599e08f68/height=288;version=1;width=512/https%3A%2F%2Fimages-na.ssl-images-amazon.com%2Fimages%2FI%2F51q63OpBfKL._SS200_.jpg)