2

bash --loginEclipseにカスタムMakefileプロジェクトがあり、ビルドはCygwinシェルで実行されますが、実行中のように環境変数を設定しないため、ログインシェル( )ではないようcygwin.batです。

Eclipseのどこで、ログインシェルになるようにシェルコマンドを変更できますか?

4

1 に答える 1

2

実際にbash --loginで目指しているのは、 /etc/profileからの設定です。

UNIX では通常、ログイン シェルは 1 つしかないため、これらの設定は他のすべてのシェルに継承されます。Windows では、どの Bash ウィンドウも分離されたログイン シェルであり、 bashを単にコマンド プロセッサとして実行するツールから Bash を実行すると、環境設定が失われます。

Emacsのコンパイル機能でも同様の問題がありました。Windows での最善の解決策は、環境変数BASH_ENVをスクリプトに設定することです。Bash は、 -iまたは--loginなしで起動するとこのスクリプトを実行するため、/etc/profileは実行されません。したがって、スクリプトは非対話型、非ログイン シェル用に Bash をセットアップします。

例:

BASH_ENV=%USERPROFILE%\.bash_env

ユーザー環境変数として。このスクリプトで最低限行うことは、PATH/etc/profileのように設定することです。

PATH="/usr/local/bin:/usr/bin:${PATH}"

/etc/profileCygwin のsetup.exeによって作成されたパス設定を確認します。このスクリプトから設定をコピーし~/.bashrcたり、このスクリプトをソースしたりすることもできます。

お役に立てれば。

于 2013-09-19T07:41:42.797 に答える