我正在尝试编写一个 bash 脚本来自动完成我的电子邮件地址。所以我的目标是每当我foo
在终端中输入并点击tab
它时,它都会用 完成[email protected]
。
到目前为止我读过这些链接:
https://unix.stackexchange.com/questions/1800/how-to-specify-a-custom-autocomplete-for-specific-commands?newreg=8f29593bf62a4dcb92c96c33219271fd
https://debian-administration.org/article/317/An_introduction_to_bash_completion_part_2
但我无法实现,因为它们都像 一样自动完成foo [tab]
。
很抱歉我无法很好地解释我的问题,但我不想在 之后有那个空格foo
。
提前致谢。
答案1
据我所知,自动完成是独立于程序的。当你输入时,command1 foo
它会专门查找命令 1 的完成脚本,并command2 foo
查找命令 2 的完成脚本。
如果您希望您的电子邮件地址本身就是一个命令而不是一个参数,那么:
$ touch ~/.local/bin/[email protected]
$ chmod +x ~/.local/bin/[email protected]
确保~/.local/bin/
它在你的 PATH 中。现在:
pou[tab]
完成它。
另一个很酷的技巧是使用别名。添加一个新别名,如下所示:
alias 1='[email protected]'
现在输入1
然后按Ctrl+ Alt+ e。完成。