Ihr PATH
enthält nicht expandiertes ~/bin
. Ihre Shell versteht was ~/
bedeutet aber git
offenbar nicht. Sie sollten den vollständigen Pfad zu ~/bin
angeben in Ihrem PATH
.
Wenn Sie PATH=~/"bin:${PATH}"
verwendet haben statt PATH="~/bin:${PATH}"
, würde eine Tilde-Erweiterung auftreten und PATH
würde den erweiterten Pfad speichern. Aber es gibt ein Problem mit :~/bin:
innerhalb von [[ ]]
. Tilde nicht zu zitieren ist nicht die einzige Bedingung (siehe „Tilde-Erweiterung“ in man 1 bash
). ), macht dies expandierend :~/bin:
schwierig. Und Sie müssen es erweitern, um es mit dem vollständigen Pfad in PATH
zu testen .
Es ist einfacher, $HOME
zu verwenden :
[[ ":$PATH:" != *":$HOME/bin:"* ]] && PATH="$HOME/bin:${PATH}"
export PATH
$HOME
expandiert wird, bevor die gesamte Zeichenfolge dem PATH
zugewiesen wird Variable. Das bedeutet PATH
enthält jetzt die volle Pfad zu Ihrem $HOME/bin
. git
wird diesen Weg verstehen.