LoginSignup
1
1

Cygwin を複数インストールする(CYG_HOMEの設定について)

Last updated at Posted at 2024-02-16

『Cygwinの環境を複数作ったり、パッケージのインストールを自動化したりする(たった一つのスクリプトファイルだけで…魔法のように…Linuxライク環境が構築できる!)』 の補足記事です。

D:\cyg にインストールスクリプト「project1.bat」を置いた場合に、スクリプト内の「CYG_HOME」の設定を変えるとどのようになるかを詳しくご説明します。

CYG_HOME を指定することで複数の Cygwin プロジェクトから同じホームディレクトリを共有できます。

一度設定した CYG_HOME を変更して、再度スクリプトを実行することでホームディレクトリを変更することができます。

「.」に指定した場合

set CYG_HOME=.

ピリオドに指定するとカレントディレクトリという意味でスクリプトのあるディレクトリがホームになります。
ただし、Linux と同様にD:\cygの配下にユーザー名(ユーザーID)のフォルダがさらに作られてそこが実際のホームディレクトリになります。マルチユーザーで使う場合には便利ですね。

javac@project1(Cygwin64) ~
$ pwd
/cygdrive/d/cyg/javac

javac@project1(Cygwin64) ~
$ cygpath -w `pwd`
D:\cyg\javac

「.$」に指定した場合

ユーザー名のフォルダができてほしくない場合には、「CYG_HOME」の設定の最後に半角の「$」をつけます。

set CYG_HOME=.$
javac@project1(Cygwin64) ~
$ pwd
/cygdrive/d/cyg

javac@project1(Cygwin64) ~
$ cygpath -w `pwd`
D:\cyg

「deep/deeper」に指定した場合

この場合は、スクリプトのあるディレクトリに「deep/deeper」というフォルダが作られます。
最後に「$」がついてないので、ユーザー名のフォルダが最後につきます。

set CYG_HOME=deep/deeper
javac@project1(Cygwin64) ~
$ pwd
/cygdrive/d/cyg/deep/deeper/javac

javac@project1(Cygwin64) ~
$ cygpath -w `pwd`
D:\cyg\deep\deeper\javac

「deep/deeper$」に指定した場合

この場合は、スクリプトのあるディレクトリに「deep/deeper」というフォルダが作られます。
最後に「$」がついているので、ユーザー名のフォルダはつきません。

set CYG_HOME=deep/deeper$
javac@project1(Cygwin64) ~
$ pwd
/cygdrive/d/cyg/deep/deeper

javac@project1(Cygwin64) ~
$ cygpath -w `pwd`
D:\cyg\deep\deeper

フルパス指定「D:\home」に指定した場合

最後に「$」がついてないので、ユーザー名のフォルダが最後につきます。

set CYG_HOME=D:\home
javac@project1(Cygwin64) ~
$ pwd
/cygdrive/d/home/javac

javac@project1(Cygwin64) ~
$ cygpath -w `pwd`
D:\home\javac

フルパス指定「D:\home$」に指定した場合

最後に「$」がついているので、ユーザー名のフォルダはつきません。

set CYG_HOME=D:\home$
javac@project1(Cygwin64) ~
$ pwd
/cygdrive/d/home

javac@project1(Cygwin64) ~
$ cygpath -w `pwd`
D:\home

以上です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1