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)