Bash
從路徑中刪除執行檔
teleport
我的路徑中有一個腳本。當我鍵入tele
並點擊製表符時,我希望製表符完成將其完成為teleport
.但是,我的系統上安裝了另一個程序:
telepathy-gabble-xmpp-console
它以相同的字母開頭,因此製表符完成只能達到telep
.如果這是我的系統,我會刪除那個執行檔以改進我的工作流程。但是,這是一個共享伺服器。(帳戶不共享。)
或者,我可以更改我
$PATH
的排除它。但是,telepathy-gabble-xmpp-console
在/bin
,顯然我不能/bin
從我的路徑中刪除。此執行緒中描述的解決方案不起作用,因為定義函式或別名仍將自動完成該函式或別名。
如何從我的
$PATH
.(是的,我意識到這是為了一點點好處而做的很多工作。)
我解決了我的問題。我將此行添加到.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)