2006-01-12 [長年日記]

PATHを通さずにCygwinを使う

システムの環境変数PATHにC:\cygwin\binを追加しないと、ログインシェル以外で/binにパスが通っていないという困った状態になってしまいます*1。例えば、xyzzyのexecute-subprocessで"bash -c ..."のようにしてシェルスクリプトを実行するときに、/binにパスが通っていないことになってしまいます。

この場合、適当な名前で以下のようなファイルを作成して、そのファイルのパスを環境変数BASH_ENVに指定すると、対話的でない場合(-iがついていない場合)にはこのファイルを読んでPATHを設定してくれます。

export PATH="/usr/local/bin:/usr/bin:/bin:$PATH"

ログインシェルでない対話的なシェルではこのファイルを読んでくれないので相変わらず問題がありますが、Cygwin環境外からbashを対話的に起動するときにはログインシェルにしてしまえば問題ないと思われます。

*1  ログインシェルでは/etc/profileでPATHに追加しているので問題ないです

[]