# only echo if interactive function iecho { if [ "$PS1" ]; then # interactive echo $*; fi } # visible indication that homedir was found, etc. iecho "sourcing .bashrc" # HOME should already be set up to, e.g., c:/derek, but cygwin # will change to /c/derek, so: export COLONHOME=`cygpath -m ${HOME}` export CYGSYSROOT=`cygpath -u $SYSTEMROOT` # Once-only setup things: # for each drive, follow example here with c: # mkdir /c # mount c: /c if [ "$PS1" ]; then # interactive # set primary prompt to put host in window title PS1="\n\[\033]0;\h: \w\007\]\@ \w\n% " alias dclick='~/dclick.exe' fi if [[ -n $TERM ]] && [[ -n $SSH_CLIENT ]]; then # prefer cygwin emacs export PATH_EMACS="/usr/bin:/bin:/c/program files/emacs-21.3/bin" else # presumably logged in via Windows, so prefer Windows Emacs export PATH_EMACS="/c/program files/emacs-21.3/bin:/usr/bin:/bin" fi export PATH="/usr/local/bin:${PATH_EMACS}:/usr/X11R6/bin:${CYGSYSROOT}/system32:${CYGSYSROOT}/system32/wbem:${CYGSYSROOT}" # get around problem of not having a common ancestor running under ssh-agent # by sharing one ssh-agent export SSH_ENV_VARS="${HOME}/.ssh/env_vars" function ssh-setup { if [ ${SSH_AGENT_PID} ]; then echo "export SSH_AGENT_PID=${SSH_AGENT_PID}" > ${SSH_ENV_VARS} echo "export SSH_AUTH_SOCK=${SSH_AUTH_SOCK}" >> ${SSH_ENV_VARS} # add a little security chmod go-rwx ${SSH_ENV_VARS} echo "source ~/.ssh/env_vars in any other shell to use this agent"; # clean up on exit so no stale env vars file trap "rm ${SSH_ENV_VARS}" EXIT # can be re-tried, so ssh-add success independent of env var file ssh-add else echo "error: no ssh-agent ancestor is running" fi } if [ -f ${SSH_ENV_VARS} ]; then source ${SSH_ENV_VARS} iecho "ssh agent is ${SSH_AGENT_PID}" fi # examples of using netsh function homedns { netsh interface ip set dns name="Local Area Connection" source=static addr=24.92.226.9 register=PRIMARY; } function workdns { netsh interface ip set dns name="Local Area Connection" source=dhcp } ########################################################################### ## VC++ Environment Variables ## Adapated from C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT ## VSBaseDirTemp=`cygpath -ms /c/Program\ Files/Microsoft\ Visual\ Studio` VSBaseDirBASH=`cygpath -u $VSBaseDirTemp` # Root of Visual Developer Studio Common files. VSCommonDirBASH="${VSBaseDirBASH}/Common" VSCommonDir=`cygpath -d ${VSCommonDirBASH}` # Root of Visual Developer Studio installed files. MSDevDirBASH="${VSCommonDirBASH}/MSDev98" MSDevDir=`cygpath -d ${MSDevDirBASH}` # Root of Visual C++ installed files. MSVCDirBASH="${VSBaseDirBASH}/VC98" MSVCDir=`cygpath -d ${MSVCDirBASH}` # VcOsDir is used to help create either a Windows 95 or Windows NT specific path. if [ "$OS" = "Windows_NT" ]; then export VcOsDir=WINNT; else export VcOsDir=WIN95; fi # Set environment for using Microsoft Visual C++ tools. if [ "$OS" = "Windows_NT" ]; then PATH="$MSDevDirBASH/BIN:$MSVCDirBASH/BIN:$VSCommonDirBASH/TOOLS/$VcOsDir:$VSCommonDirBASH/TOOLS:$PATH"; fi if [ "$OS" = "" ]; then PATH="$PATH:$MSDevDirBASH/BIN:$MSVCDirBASH/BIN:$VSCommonDirBASH/TOOLS/$VcOsDir:$VSCommonDirBASH/TOOLS:$windir/SYSTEM"; fi export INCLUDE="$MSVCDir\\ATL\\INCLUDE;$MSVCDir\\INCLUDE;$MSVCDir\\MFC\\INCLUDE;$INCLUDE" export LIB="$MSVCDir\\LIB;$MSVCDir\\MFC\\LIB;$LIB" unset VSBaseDirTemp unset VSBaseDirBASH unset VSCommonDirBASH unset VSCommonDir unset MSDevDirBASH unset MSDevDir unset MSVCDirBASH unset MSVCDir # ###########################################################################