web-dev-qa-db-ja.com

gvimは、非インタラクティブなノンログインシェルからの.bashrc、.bash_profile、または.profileを送信しません

私は私の.vimrcについて以下を持っています

set Shell=C:/cygwin/bin/bash
set shellcmdflag=-c
set shellxquote=\"
 _

したがって、私が使用しているシェルは非対話的でログインではありません。ログインノンログインシェルは、.bashrcですが、それはそうであるようには思われませんでした。シェルinteractiveまたはloginにしたくありません。他の方法では、源泉源のための方法はありますか?私の.bash_profileはすでにソース.bashrcのソース

1
Forethinker

あなたが説明するものは通常の行動です。 _-c_オプションを使用してBashを起動すると、非対話式、非ログインシェルを起動します。つまり、BASHはその古典的な設定ファイルのいずれかを発生させないことを意味しますが、代わりに変数_$BASH_ENV_です。 Bash Man Pageで説明されているように:

  • インタラクティブな非ログインシェル:

    たとえば、Bashが対話式で起動されると、シェルスクリプトを実行するには、環境内の変数bash_envが表示され、そこに表示されている場合はその値を展開し、展開された値を名前として使用します。読み書きするファイルの。 Bashは、次のコマンドが実行されたかのように動作します。

    _if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
    _
  • インタラクティブ、ログインシェル:

    Bashが対話型ログインシェルとして、または--loginオプションを持つ非対話型シェルとして呼び出されると、最初にファイルからコマンドを読み出して実行します/ etc/profile、そのファイルが存在する場合は。そのファイルを読んだ後は、〜/ .bash_profile〜/ .bash_login、および〜/ .profile、そしてその順序で---存在し、読み取り可能な最初のものからコマンドを読み出して実行します。

  • インタラクティブな非ログインシェル

    ログインシェルではない対話型シェルが起動されると、Bashは/ etc/bash.bashrcおよび〜/ .bashrc ---からのコマンドを読み取り、実行します。これは、--norcオプションを使用することによって禁止されてもよい。 --rcfileファイルオプションは、/etc/bash.bashrcと〜/ .bashrcの代わりにファイルからcommandsを読み書きするように強制します。


したがって、インタラクティブでないログインシェルにソース_~/.bahsrc_の値を望む場合は、_BASH_ENV~/.bashrc_の値を設定する必要があります。この行を_~/.bashrc_または_~/.profile_ファイルに追加します。

_export BASH_ENV=~/.bashrc
_
4
terdon