Il tuo PATH
contiene ~/bin
non espanso . La tua shell capisce cosa ~/
significa ma git
a quanto pare no. Dovresti includere il percorso completo di ~/bin
nel tuo PATH
.
Se hai usato PATH=~/"bin:${PATH}"
invece di PATH="~/bin:${PATH}"
, si verifica l'espansione della tilde e PATH
memorizzerebbe il percorso espanso. Ma c'è un problema con :~/bin:
all'interno di [[ ]]
. Non citare la tilde non è l'unica condizione (vedi "Espansione della tilde" in man 1 bash
), questo rende l'espansione :~/bin:
difficile. E devi espanderlo per testare il percorso completo in PATH
.
È più facile usare $HOME
:
[[ ":$PATH:" != *":$HOME/bin:"* ]] && PATH="$HOME/bin:${PATH}"
export PATH
$HOME
viene espanso prima che l'intera stringa venga assegnata al PATH
variabile. Questo significa PATH
ora contiene il completo percorso al tuo $HOME/bin
. git
capirà questo percorso.