bash --login
EclipseにカスタムMakefileプロジェクトがあり、ビルドはCygwinシェルで実行されますが、実行中のように環境変数を設定しないため、ログインシェル( )ではないようcygwin.bat
です。
Eclipseのどこで、ログインシェルになるようにシェルコマンドを変更できますか?
実際に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/profile
Cygwin のsetup.exeによって作成されたパス設定を確認します。このスクリプトから設定をコピーし~/.bashrc
たり、このスクリプトをソースしたりすることもできます。
お役に立てれば。