mirror of
				https://github.com/cmderdev/cmder.git
				synced 2025-10-30 00:42:04 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			114 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Copy this file to your non integrated *nix-like environment,
 | |
| # Cygwin/MSys2/Git for Windows SDK, installs '/etc/profile.d/'
 | |
| # folder to integrate the externally installed Unix like environment
 | |
| # into Cmder so it has access to settings stored in Cmder/config
 | |
| # folder when launched.
 | |
| #
 | |
| # The destination file extension depends on the shell you use.  For example:
 | |
| #
 | |
| # bash - Copy to /etc/profile.d/cmder_exinit.sh
 | |
| # zsh  - Copy to /etc/profile.d/cmder_exinit.zsh
 | |
| # Add portable user customizations ${CMDER_ROOT}/config/user-profile.sh or
 | |
| # add whole config scripts to ${CMDER_ROOT}/config/profile.d both will be sourced
 | |
| # from this file and be applied to the environment at startup.
 | |
| #
 | |
| # These customizations will follow Cmder if $CMDER_ROOT is copied
 | |
| # to another machine.
 | |
| #
 | |
| # Add system specific users customizations to $HOME/.bashrc, these
 | |
| # customizations will not follow Cmder to another machine.
 | |
| 
 | |
| # # Uncomment and edit the CMDER_ROOT line to use Cmder/config even when launched
 | |
| # # from outside Cmder.
 | |
| # CMDER_ROOT=${USERPROFILE}/cmder  # This is not required if launched from Cmder.
 | |
| 
 | |
| function runProfiled {
 | |
|   unset profile_d_scripts
 | |
|   pushd "${1}" >/dev/null
 | |
| 
 | |
|   if [ ! "x${ZSH_VERSION}" = "x"  ]; then
 | |
|     profile_d_scripts=$(ls *.zsh 2>/dev/null)
 | |
|   elif [ ! "x${BASH_VERSION}" = "x"  ]; then
 | |
|     profile_d_scripts=$(ls *.sh 2>/dev/null)
 | |
|   fi
 | |
| 
 | |
|   if [ ! "x${profile_d_scripts}" = "x" ] ; then
 | |
|     for x in ${profile_d_scripts} ; do
 | |
|       echo Sourcing "${1}/${x}"...
 | |
|       . "${1}/${x}"
 | |
|     done
 | |
|   fi
 | |
|   popd >/dev/null
 | |
| }
 | |
| 
 | |
| # Check that we haven't already been sourced.
 | |
| [[ -z ${CMDER_EXINIT} ]] && CMDER_EXINIT="1" || return
 | |
| 
 | |
| # We do this for bash as admin sessions since $CMDER_ROOT is not being set
 | |
| if [ "$CMDER_ROOT" = "" -a "$ConEmuDir" != "" ] ; then
 | |
|   if [ -d "${ConEmuDir}../../vendor" ] ; then
 | |
|     case "$ConEmuDir" in *\\*) CMDER_ROOT=$( cd "$(cygpath -u "$ConEmuDir")/../.." ; pwd );; esac
 | |
|   else
 | |
|     echo "Running in ConEmu without Cmder, skipping Cmder integration."
 | |
|   fi
 | |
| elif [ "$CMDER_ROOT" != "" ] ; then
 | |
|   case "$CMDER_ROOT" in *\\*) CMDER_ROOT="$(cygpath -u "$CMDER_ROOT")";; esac
 | |
| fi
 | |
| 
 | |
| if [ ! "$CMDER_ROOT" = "" ] ; then
 | |
|   # Remove any trailing '/'
 | |
|   CMDER_ROOT=$(echo $CMDER_ROOT | sed 's:/*$::')
 | |
| 
 | |
|   echo "Using \"CMDER_ROOT\" at \"${CMDER_ROOT}\"."
 | |
| 
 | |
|   export CMDER_ROOT
 | |
| 
 | |
|   PATH=${CMDER_ROOT}/bin:${CMDER_ROOT}/vendor/bin:$PATH:${CMDER_ROOT}
 | |
| 
 | |
|   export PATH
 | |
| 
 | |
|   # Drop *.sh or *.zsh files into "${CMDER_ROOT}\config\profile.d"
 | |
|   # to source them at startup.
 | |
|   if [ ! -d "${CMDER_ROOT}/config/profile.d" ] ; then
 | |
|     mkdir -p "${CMDER_ROOT}/config/profile.d"
 | |
|   fi
 | |
| 
 | |
|   if [ -d "${CMDER_ROOT}/config/profile.d" ] ; then
 | |
|     runProfiled  "${CMDER_ROOT}/config/profile.d"
 | |
|   fi
 | |
| 
 | |
|   if [ -d "${CMDER_USER_CONFIG}/profile.d" ] ; then
 | |
|     runProfiled  "${CMDER_USER_CONFIG}/profile.d"
 | |
|   fi
 | |
| 
 | |
| 
 | |
|   # Renaming to "config\user_profile.sh" to "user_profile.sh" for consistency.
 | |
|   if [ -f "$CMDER_ROOT/config/user-profile.sh" ] ; then
 | |
|     mv "$CMDER_ROOT/config/user-profile.sh" "$CMDER_ROOT/config/user_profile.sh"
 | |
|   fi
 | |
| 
 | |
|   CmderUserProfilePath="${CMDER_ROOT}/config/user_profile.sh"
 | |
|   if [ -f "${CMDER_ROOT}/config/user_profile.sh" ] ; then
 | |
|       . "${CMDER_ROOT}/config/user_profile.sh"
 | |
|   fi
 | |
| 
 | |
|   if [ "${CMDER_USER_CONFIG}" != "" ] ; then
 | |
|     # Renaming to "config\user_profile.sh" to "user_profile.sh" for consistency.
 | |
|     if [ -f "$CMDER_USER_CONFIG/user-profile.sh" ] ; then
 | |
|       mv "$CMDER_USER_CONFIG/user-profile.sh" "$CMDER_USER_CONFIG/user_profile.sh"
 | |
|     fi
 | |
| 
 | |
|     export PATH=${CMDER_USER_CONFIG}/bin:$PATH
 | |
| 
 | |
|     CmderUserProfilePath="${CMDER_USER_CONFIG}/user_profile.sh"
 | |
|     if [ -f "${CMDER_USER_CONFIG}/user_profile.sh" ] ; then
 | |
|       . "${CMDER_USER_CONFIG}/user_profile.sh"
 | |
|     fi
 | |
|   fi
 | |
| 
 | |
|   if [ ! -f "${CmderUserProfilePath}" ] ; then
 | |
|       echo Creating user startup file: "${CmderUserProfilePath}"
 | |
|       cp "${CMDER_ROOT}/vendor/user_profile.sh.default" "${CmderUserProfilePath}"
 | |
|   fi
 | |
| fi
 |