Fキーのキーストロークをパイピングする必要がある短いbashハックを書き込もうとしています。基本的に私がやろうとしていることは次のとおりです。
(echo "1"; "for x in 1..9; do echo "123<F1>34<F3>"; done; echo "<F1>")|./program
その#のFキーはどこですか
これは可能ですか?もしそうなら、誰かが私にドキュメントか何かを教えてもらえますか
端末によっては、ファンクション キーは単なる一連の文字です。それらが何であるかを見ることができますcat
:
$ cat
^[OP
^[OQ
^[OR
F1、 、F2、F3を順番に叩いてます。したがって、それらをプログラムにエコーするには、それらの制御コードをエコーするだけで (最初のコードにctrl-があることに注意してESCください)、すべての設定が完了しているはずです。
zigdon の回答を拡張するにtput
は、端末に適したシーケンスを生成するために使用できます。
f1=$(tput kf1)
f2=$(tput kf2)
# ...
(echo 1; for x in {1..9}; do echo "123${f1}34$f3"; done; echo "$f1") | ./program
「kf1」および「kf2」という名前は、それぞれ F1 キーおよび F2 キーのterminfo 機能です。