私のためのUbuntu変更シェル

私のためのUbuntu変更シェル

このUbuntuシステムでは、新しい端末を起動するとエラーが表示されます。問題はこれである:

bash完了が()から派生すると、. /usr/share/bash-completion/bash_completionシェルは発生せず、bashリストを含む一部の変数定義local words=()は失敗します(bashリストのみが理解されるため)。

私の解決策は明示的に呼び出すことでしたが、bash /usr/share/bash-completion/bash_completionターミナルを開くときに別のシェルが呼び出される理由を知りたいです。私はbashが私のデフォルトなので、ソーシングプロセス中にも使用されると思いました。

bash-completionファイルを呼び出す前に1つ作成し、echo $0出力はbash

購入にbashを使用しないのはなぜですか?

コメントの問題を解決するには、次の手順に従ってください。

これは、新しいコンソールを起動したときに発生します。これは、カーネルが新しいターミナルウィンドウであるcallを起動し、~/.profile順番に. "$HOME/.bashrc"bash完了(. /usr/share/bash-completion/bash_completion)を実行することを意味します。

~/.bash_completionファイルがありません。

echo "$0"失敗して実行されないため、bash_completionの中に入れることはできません。

my.bashrc.profileUbuntu に付属する基本項目です。私はそうではありません.bash_profile。デフォルトのUbuntu 14.04にあります。/etc/skel/

ベストアンサー1

問題は、シェル、chsh、または外部エントリにあることではありません。これは地域の愚かなエイリアスです。一部の人は、ローカルIPアドレスを表示するエイリアスを作成し、名前を「local」として指定するのが良い考えだと思いました。

local cword words=()

失敗は、シェルがアレイを処理できないために発生しません。エイリアスが拡張されていて()そこに意味がないので失敗します。

おすすめ記事