操作系统:GNU/Linux
我有一个程序:hello.c
可执行文件:你好
必需的:
可执行文件“hello”未运行。
我按下“F1”键。
可执行文件“hello”自动运行并产生输出(如果有)。
请指导我如何实现这一点。
答案1
看https://stackoverflow.com/q/4200800/477035
Ctrl-v
您可以通过在命令行上按下,然后按下您感兴趣的键来确定按键发出的字符序列。在我的系统中,对于 F12,我得到^[[24~
。^[
代表 Esc。不同类型的终端或终端仿真器可以为同一个键发出不同的代码。在 Bash 提示符下,您可以输入这样的命令来启用键宏,以便您可以尝试它。
bind '"\e[24~":"foobar"'
现在,当您按下 F12 时,命令行上将显示“foobar”,您可以进行进一步编辑。如果您希望按键立即输入命令,可以添加换行符:
bind '"\e[24~":"pwd\n"'
bash 的手册页包含以下内容
bind [-m keymap] -x keyseq:shell-command
bind [-m keymap] keyseq:function-name
如果您的 shell 不是 bash,我建议您仔细查看您首选的 shell 的手册页以了解等效功能。