特定のシェルコマンドまたはエイリアスの完成を完全に無効にするにはどうすればよいですか?

特定のシェルコマンドまたはエイリアスの完成を完全に無効にするにはどうすればよいですか?

パラメータを使用しない次の Bash エイリアスがあります。

alias b='cd ..'

入力b<space>後に押すと、<tab>現在のディレクトリのすべてのパスの完了結果が表示されます。<tab>どのようなオートコンプリートも実行しないようにするにはどうすればよいですか?私はそれを試しましたが、complete -r b役に立ちません。

ベストアンサー1

-bash-4.2$ alias b='cd ..'
-bash-4.2$ function nope() { :; }
-bash-4.2$ complete b -F nope
-bash-4.2$ b 

したがってnope、機能を完了すると完了が無効になるように見えます。これを改善できますか?

-bash-4.2$ alias b='cd ..'
-bash-4.2$ b
Display all 116 possibilities? (y or n)
-bash-4.2$ complete b -C :
-bash-4.2$ b 

これは次のとおりです。 "nothing":コマンドを使用すると、何もしない機能を追加する必要はありません。

おすすめ記事