Bash

從路徑中刪除執行檔

  • January 27, 2019

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)

引用自:https://unix.stackexchange.com/questions/496965