teleport
我的路径中有一个名为的脚本。当我键入tele
并点击选项卡时,我希望选项卡完成功能将其完成到teleport
.
但是,我的系统上安装了另一个程序:telepathy-gabble-xmpp-console
它以相同的字母开头,因此制表符补全最多只能达到telep
.
如果这是我的系统,我只需删除该可执行文件即可改进我的工作流程。然而,这是一个共享服务器。 (帐户不共享。)
或者,我可以更改 my$PATH
以排除它。但是,telepathy-gabble-xmpp-console
在 中/bin
,显然我不能/bin
从我的路径中删除。
中描述的解决方案这个线程不起作用,因为定义函数或别名仍会自动完成该函数或别名。
如何从我的 中取出单个可执行文件$PATH
?
(是的,我意识到这是为了一点小好处而做的大量工作。)
答案1
我解决了我的问题。我将这一行添加到 .bashrc 中:
export EXECIGNORE=*/telepathy-gabble-xmpp-console
这种方法没有奏效:
export EXECIGNORE=$(which telepathy-gabble-xmpp-console)
因为telepathy-gabble-xmpp-console
同时安装在/bin
和中/usr/bin
。
不过,稍微修改一下就可以了,使用which -a
:
export EXECIGNORE=$(which -a telepathy-gabble-xmpp-console | tr '\n' ':' | head -c -1)