Modifier l'emplacement de l' ~ du répertoire d'installation de Windows de Git Bash

Je ne suis même pas sûr que je suis poser la bonne question. Laissez-moi vous expliquer ma situation:

C'est sur Git sur Windows 7.

Mon entreprise met en place le répertoire d'utilisateur Windows sur un lecteur réseau, pas sur le disque dur local (pour la sauvegarde et à d'autres fins au-delà de la portée de cette question). Je ne peut pas changer de politique.

Je PEUX avoir les fichiers locaux à l'extérieur de ce régime, cependant, et voilà comment mon serveur Apache est configuré. Entièrement locale.

J'ai installé Git. Il s'installe Bash. Quand j'ai le feu jusqu'à Bash et cd ~ (changer le répertoire racine), je trouve que c' (le Bash root) points à mon réseau répertoire de l'utilisateur. Je le veux de ne pas le faire. Je veux ~ être ailleurs sur mon disque dur. Je veux que lorsque je effectuer d'autres opérations telles que l'installation d'un certificat, d'une clé SSH, etc. sa valeur par défaut sera pas automatiquement que le répertoire réseau.

J'ai en vain cherché partout, et tout ce que je peux trouver se réfère à des réponses qui impliquent des alias, de redirection et de l'emplacement $à la MAISON points de. Mais ce n'est pas ce que je veux à tous.

La question est: puis-je changer le répertoire? Et si oui: Comment?

Mise à JOUR: Alors, $HOME est ce que je dois modifier. Toutefois, j'ai été incapable de trouver où cette mythique $à la MAISON de la variable est définie, donc j'ai supposé que c'était un système Linux version de CHEMIN ou de quelque chose. De toute façon...

J'ai un "profil" fichier sous git/etc. Voici le contenu (avis n $HOME):

  # To the extent possible under law, the author(s) have dedicated all
  # copyright and related and neighboring rights to this software to the
  # public domain worldwide. This software is distributed without any warranty.
  # You should have received a copy of the CC0 Public Domain Dedication along
  # with this software.
  # If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.


  # System-wide profile file

  # Some resources...
  # Customizing Your Shell: http://www.dsl.org/cookbook/cookbook_5.html#SEC69
  # Consistent BackSpace and Delete Configuration:
  #   http://www.ibb.net/~anne/keyboard.html
  # The Linux Documentation Project: http://www.tldp.org/
  # The Linux Cookbook: http://www.tldp.org/LDP/linuxcookbook/html/
  # Greg's Wiki http://mywiki.wooledge.org/

  # Setup some default paths. Note that this order will allow user installed
  # software to override 'system' software.
  # Modifying these default path settings can be done in different ways.
  # To learn more about startup files, refer to your shell's man page.

  MSYS2_PATH="/usr/local/bin:/usr/bin:/bin"
  MANPATH="/usr/local/man:/usr/share/man:/usr/man:/share/man:${MANPATH}"
  INFOPATH="/usr/local/info:/usr/share/info:/usr/info:/share/info:${INFOPATH}"
  MINGW_MOUNT_POINT=
  if [ -n "$MSYSTEM" ]
  then
    case "$MSYSTEM" in
      MINGW32)
        MINGW_MOUNT_POINT=/mingw32
        PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
        PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
        ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
        MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
      ;;
      MINGW64)
        MINGW_MOUNT_POINT=/mingw64
        PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
        PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
        ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
        MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
      ;;
      MSYS)
        PATH="${MSYS2_PATH}:/opt/bin:${PATH}"
        PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig"
      ;;
      *)
        PATH="${MSYS2_PATH}:${PATH}"
      ;;
    esac
  else
    PATH="${MSYS2_PATH}:${PATH}"
  fi

  MAYBE_FIRST_START=false
  SYSCONFDIR="${SYSCONFDIR:=/etc}"

  # TMP and TEMP as defined in the Windows environment must be kept
  # for windows apps, even if started from msys2. However, leaving
  # them set to the default Windows temporary directory or unset
  # can have unexpected consequences for msys2 apps, so we define
  # our own to match GNU/Linux behaviour.
  ORIGINAL_TMP=$TMP
  ORIGINAL_TEMP=$TEMP
  #unset TMP TEMP
  #tmp=$(cygpath -w "$ORIGINAL_TMP" 2> /dev/null)
  #temp=$(cygpath -w "$ORIGINAL_TEMP" 2> /dev/null)
  #TMP="/tmp"
  #TEMP="/tmp"
  case "$TMP" in *\\*) TMP="$(cygpath -m "$TMP")";; esac
  case "$TEMP" in *\\*) TEMP="$(cygpath -m "$TEMP")";; esac
  test -d "$TMPDIR" || test ! -d "$TMP" || {
    TMPDIR="$TMP"
    export TMPDIR
  }


  # Define default printer
  p='/proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/Windows/Device'
  if [ -e "${p}" ] ; then
    read -r PRINTER < "${p}"
    PRINTER=${PRINTER%%,*}
  fi
  unset p

  print_flags ()
  {
    (( $1 & 0x0002 )) && echo -n "binary" || echo -n "text"
    (( $1 & 0x0010 )) && echo -n ",exec"
    (( $1 & 0x0040 )) && echo -n ",cygexec"
    (( $1 & 0x0100 )) && echo -n ",notexec"
  }

  # Shell dependent settings
  profile_d ()
  {
    local file=
    for file in $(export LC_COLLATE=C; echo /etc/profile.d/*.$1); do
      [ -e "${file}" ] && . "${file}"
    done

    if [ -n ${MINGW_MOUNT_POINT} ]; then
      for file in $(export LC_COLLATE=C; echo ${MINGW_MOUNT_POINT}/etc/profile.d/*.$1); do
        [ -e "${file}" ] && . "${file}"
      done
    fi
  }

  for postinst in $(export LC_COLLATE=C; echo /etc/post-install/*.post); do
    [ -e "${postinst}" ] && . "${postinst}"
  done

  if [ ! "x${BASH_VERSION}" = "x" ]; then
    HOSTNAME="$(/usr/bin/hostname)"
    profile_d sh
    [ -f "/etc/bash.bashrc" ] && . "/etc/bash.bashrc"
  elif [ ! "x${KSH_VERSION}" = "x" ]; then
    typeset -l HOSTNAME="$(/usr/bin/hostname)"
    profile_d sh
    PS1=$(print '3]0;${PWD}\n3[32m${USER}@${HOSTNAME} 3[33m${PWD/${HOME}/~}3[0m\n$ ')
  elif [ ! "x${ZSH_VERSION}" = "x" ]; then
    HOSTNAME="$(/usr/bin/hostname)"
    profile_d zsh
    PS1='(%n@%m)[%h] %~ %% '
  elif [ ! "x${POSH_VERSION}" = "x" ]; then
    HOSTNAME="$(/usr/bin/hostname)"
    PS1="$ "
  else
    HOSTNAME="$(/usr/bin/hostname)"
    profile_d sh
    PS1="$ "
  fi

  if [ -n "$ACLOCAL_PATH" ]
  then
    export ACLOCAL_PATH
  fi

  export PATH MANPATH INFOPATH PKG_CONFIG_PATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp
  test -n "$TERM" || export TERM=xterm-256color

  if [ "$MAYBE_FIRST_START" = "true" ]; then
    sh /usr/bin/regen-info.sh

    if [ -f "/usr/bin/update-ca-trust" ]
    then
      sh /usr/bin/update-ca-trust
    fi

    clear
    echo
    echo
    echo "###################################################################"
    echo "#                                                                 #"
    echo "#                                                                 #"
    echo "#                   C   A   U   T   I   O   N                     #"
    echo "#                                                                 #"
    echo "#                  This is first start of MSYS2.                  #"
    echo "#       You MUST restart shell to apply necessary actions.        #"
    echo "#                                                                 #"
    echo "#                                                                 #"
    echo "###################################################################"
    echo
    echo
  fi
  unset MAYBE_FIRST_START
  • ~ représente votre répertoire home. La modification de la HOME variable d'environnement va changer de où il va.
  • Juste une remarque: HOME variable d'environnement ne change pas seulement où ~ points, mais aussi tout ce qui est accès au répertoire home de l'utilisateur devrait y aller.
  • ~ est juste un raccourci pour "répertoire home de l'utilisateur", donc où ~ points, il y a le répertoire home de l'utilisateur.
  • Oui, je ne trouve pas ce $à la MAISON de la variable à définir. Ci-dessus, j'ai ajouté ce que mon fichier de profil ressemble.
  • Je vois, vous avez probablement une autre version de Git. Quelle version avez-vous? BTW, essayez d'ajouter un paramètre de la MAISON à la fin du profil. Mais il est possible, qu'il sera écrasé quelque part d'autre.
  • Juste une remarque pour votre mise à jour: HOME n'est pas une version Linux de PATH. Linux utilise PATH très de la même façon que Windows. HOME est l'équivalent de HOMEDRIVE + HOMEPATH sur Windows, vous venez dans une variable sur Linux (car il n'y a pas que stupide lettres de lecteur). Sur les deux systèmes, HOME (ou équivalent Windows) est un pointeur vers l'utilisateur (profil) annuaire et PATH est la liste de répertoires pour la recherche de l'exécutable lorsqu'il est exécuté (sans spécifier un chemin d'accès de manière explicite).
  • Merci de ne pas poster votre réponse dans votre question. Je vais le déplacer dans la communauté wiki réponse. N'hésitez pas à poster votre propre et je vais supprimer le mien. J'ai roulé à votre question retour à la version sans réponse.
  • Double Possible de Comment puis-je modifier l'emplacement par défaut pour Git Bash sous Windows?

InformationsquelleAutor PEWColina | 2015-08-26