bash-completion
私が破損しているようです。コマンド置換を使用しようとするたびに(たとえば、次のように入力するときなど)
ls $(ls Deskto<Tab>
..出てくる..
ls $(ls Desktobash unexpected eof while looking for matching ")".
.bashrc
私のファイルを削除してcp /etc/skel/bashrc ~/
新しいファイルを取得しようとしました。新しいbashrcに何かを追加するまでは動作しませんでした。してecho '#" >> ./.bashrc
も壊れます。鉱山を削除してもbash_aliases
役に立ちませんでした。
sudo apt-get install --reinstall bash-completion
それもしなかった。しかし、同様の問題のいくつかのスレッドがありますが、役に立たない。
どんなアドバイスもありがとうございました! :)
ベストアンサー1
あなたのものはbash-completion
実際に「壊れた」ものではありません。ただ既知のバグbash-completion 2.1 と Bash 4.3 で使用されます。
私は最近答えた関連質問AskUbuntuからそしてまたここしかし、私がここに来たので、この質問をグーグルする人もここで答えを見つけることができるようにここにも答えます。
詳細をお知らせしましたAsk Ubuntuただし、本質的にこの問題を解決するには、次の手順を実行できます。
変える
[[ ${!2} == \$* ]] && eval $2=${!2}
そして
[[ ${!2} == \$\'* ]] && eval $2=${!2}
_quote_readline_by_ref
ファイルの関数で/usr/share/bash-completion/bash_completion
(推奨されていません)最新のGitバージョンを見るバッシュ完成ライブラリそしてそれを使用してください。このバージョンではバグが修正されたようです。
これらの解決策の1つを使用すると、コマンドの置き換えではタブ補完は再利用されませんが、少なくとも対応するエラーメッセージは再表示されません。
実際には、コマンド置換でタブ補完を実装するには、以前のバージョンのBashに戻す必要があります(効果があると聞いた)またはライブラリが実際にBash 4.3の問題を解決するのを待ちます。