我正在尝试编写一个简短的 bash hack,它需要对 F 键进行管道击键,基本上我想要做的是:
(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 功能。