You can do the setup using config files.
Your home directory should contain three initialization files that control the behavior of bash:
The Cygwin base installation creates stub files when you start bash for the first time.
.profile(other names are valid, see the bash man page) contains bash commands, executed when bash is started as login shell, e.g. from the command bash --login.
This is a useful place to define and export environment variables and bash functions that will be used by bash and the programs invoked by bash. It is a good place to redefine
PATHif needed. We recommend adding a ":." to the end of
PATHto also search the current working directory (contrary to DOS, the local directory is not searched by default). Also to avoid delays you should either unset
MAILPATHto point to your existing mail inbox.
but is executed each time an interactive bash shell is launched. It serves to define elements that are not inherited through the environment, such as aliases. If you do not use login shells, you may want to put the contents of
.profileas discussed above in this file instead.
For example, shopt -s nocaseglob, will allow bash to glob filenames in a case-insensitive manner. Note that
.bashrcis not called automatically for login shells, you may want to source it inside the
.inputrccontrols how programs using the readline library (including bash) behave. It is loaded automatically. For full details see the
Function and Variable Indexsection of the GNU
readlinemanual. Consider the following settings:
# Ignore case while completing set completion-ignore-case on # Make Bash 8bit clean set meta-flag on set convert-meta off set output-meta onThe first command makes filename completion case insensitive (can be convenient in a Windows environment). The next three commands allow bash to display 8-bit characters (useful for languages with accented characters). Note that tools that do not use
readlinefor display, such as less and ls, require additional settings, which could be put in your
alias less='/bin/less -r' alias ls='/bin/ls -F --color=tty --show-control-chars'