Cygwin is a Linux-like environment under Windows.
Cygwin consists of:
Standard Windows command line tools can even be intermixed within the UNIX/Linux shell script environment to administer the Windows system.
Packages can be installed later by re-running Setup.exe.
The installation directory (by default, c:\cygwin) is the root of the Unix-like file system, which contains bin, etc, home, tmp, and usr directories as would be found on a GNU/Linux or other Unix system.
After the Shell launch, the current (working) directory is the %HOME% env or by default the /home/user, where user is your Windows login name.
Automatic mount points | Description | Example |
---|---|---|
/usr/bin | the installation directory | C:/cygwin64/bin |
/usr/lib | the /lib directory. | C:/cygwin64/lib |
This choice is safe and usually shouldn't be changed. An fstab entry for them is not required.
To open a Cygwin terminal window:
Within this window, the GNU bash shell is running, with POSIX syntax (directory separators are '/', not '\').
The shell Cygwin.bat is located in the root installation directory of Cygwin.
@echo off
C:
chdir C:\cygwin64\bin
bash --login -i
Initially, the current (working) directory is /home/user, where user is your Windows login name.
Single Quote the windows path
cd 'c:\wherever'
More … https://cygwin.com/cygwin-ug-net/using-effectively.html#using-pathnames-effectively
"$(cygpath -u 'C:\Program Files\ojdkbuild\java-11-openjdk-11.0.15-1\bin\java.exe')" --version
# CYGINW == 1 if Cygwin is detected, else 0.
if [[ $(uname -a) =~ "CYGWIN" ]]; then
CYGWIN=1
else
CYGWIN=0
fi
# If Cygwin is detected, a DIR variable must be converted to Windows format.
(( CYGWIN )) && ADIR=$(cygpath --path --mixed "${ADIR}")
Don't use this directory if your Windows login name contains a space; make another and use that one instead, e.g., by typing these commands at the bash prompt:
mkdir /home/bob
echo "export HOME=/home/bob" >>.bashrc
echo "export HOME=/home/bob" >>.bash_profile
cp .bashrc .bash_profile /home/bob
echo "cd" >>.bashrc
Close your Cygwin terminal window and open another one; your current directory should now be /home/bob (or whatever you chose to call it). See the Cygwin FAQ (look for “My Windows logon name has a space in it”) for other solutions to this common problem.