以前は と入力するとなってい~/bi
Tabた~/bin
のが今日はに~/bi
Tabなり始めました/home/username/bin
。
前者を選択したいのですが、何が起こっているのかわかりません... bash完了を編集するスクリプトを追加しましたが、私のスクリプトから削除して~./bashrc
サーバーを再起動しました。
これが起こり得る原因を知っている人はいますか?それとも、どのように変更することができますか?
編集する/etc/bash_completion
それで、この問題の原因が何であるかを見つけました。似たようなものと関係があるようです。これにより、bind -v
チルダ拡張がオフになっていることがわかります。
だからこれを編集すると(ハッキングのように)消えると思いました。しかし、それは実際には何も満足していません。当初、この変化はどのように起こりましたか?何も実行したことがなく、sudo
何度も終了して再起動した後もこの動作は続きます。
ベストアンサー1
どのディストリビューションを使用しているか言及していませんが(質問にその情報を含めてください)、システムでアップデートを実行した後に同様の動作を確認しました。
私の推測では、システムアップデートを実行するか、自動的に実行すると「bash-completion」パッケージが更新され、この動作が追加されることです。 Red Hat派生製品ではこれを行うことができます/usr/share/doc/PACKAGENAME
。鉱山では、/usr/share/doc/bash-completion-1.3/CHANGES
新しい変更が変更ログ形式で一覧表示されます。
変更する代わりに、チルダ拡張無効化を作成できます/etc/bash_completion
。この拡張は、次のパッケージのアップグレード時に上書きされる可能性があります。~/.inputrc
bash_completion-1.3.6が私のFedora 16システムでそれに従うことを確認しました。
set expand-tilde off
編集する
あなたの走行距離が異なる場合があります~/.inputrc
。 Bashの機能は、実行したい操作(プログラムとファイルやディレクトリなど)に応じてこの動作をオーバーライドできます。これ議論するSuperuser SEは、コマンドを自動補完するときに同様の問題を解決しましたvim
。この場合、オリジナルポスターは彼の問題を解決した彼に尋ねることによって~/.bashrc
。