如何抓住shell行中的tab键?

时间:2013-03-28 06:43:35

标签: linux bash shell scripting

我想创建一个带有默认参数的脚本,以及某些命令如何按下linux中的tab按钮显示默认参数

在第一个实例中,我想用命令trap捕获tab按钮,但这不是一个正确的方法,因为在执行脚本之前Tab键按钮应该被shell捕获而不是

问题是, 如何在执行程序之前捕获shell中的tab按钮并显示默认参数而不是获取脚本或程序?

是否有允许将默认参数传递给shell line的恶魔,绑定密钥或配置文件?

注意:

我经常在gnome-terminal中使用bash,我认为参数的自动完成必须看到终端类型,我不确定

1 个答案:

答案 0 :(得分:2)

您必须使用Bash完成功能。作为一个非常简单的示例,假设您的脚本被称为my_script并接受参数foobar,您可以在文件中写出这样的内容:

_complete_script_options() {
    COMPREPLY=( $(compgen -W "foo bar" -- ${COMP_WORDS[COMP_CWORD]}) 
}
complete -F _complete_script_options my_script

然后使用source file_with_completion在您的bash会话中加载文件。

有关更多信息,您可能需要查看http://www.debian-administration.org/article/An_introduction_to_bash_completion_part_1和Bash手册页。