$ HOMEの.bash_completionファイルはログインをブロックします。

$ HOMEの.bash_completionファイルはログインをブロックします。

Mint 18.3以降、bash_completionコンテンツは/etc/無効になりました。再度有効にするために、~/.bash_completion次の内容を含むファイルを作成しました。

if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

それから私のファイルからインポートします~/.bashrc

注:~/.bash_completion実際にはシンボリックリンクです~/Source/dotfiles/bash_completion

別のターミナルウィンドウを開くと、Ctrl + Cを押すまでウィンドウがフリーズし、シェルプロンプトは表示されません。

繰り返しますが、 を実行するとsource /etc/bash_completion同じ動作が発生します。

これを実行すると、set -x無限ループに入ることができることがわかります。

検索してみましたが/etc/ソースがありません~/.bash_completion

どうなりますか?

ベストアンサー1

さらに検索すると、このファイルのソースである/usr/share/bash-completion/bash_completionファイルが表示されます。~/.bash_completion

したがって、無限ループ。

カスタマイジングのために作ったようですが~/.bash_completionいいえ.bashrcファイルを独立した部分に分割する方法です。

bash完了をロードするためのスクリプトをどこかに入れて~/.bashrc呼び出すだけです。

おすすめ記事