Vaše PATH obsahuje nerozbalený ~/bin . Váš shell rozumí tomu, co ~/ znamená ale git zjevně ne. Měli byste uvést úplnou cestu k ~/bin ve vašem PATH .
Pokud jste použili PATH=~/"bin:${PATH}" místo PATH="~/bin:${PATH}" , došlo by k expanzi vlnovky a PATH uloží rozšířenou cestu. Ale je tu problém s :~/bin: uvnitř [[ ]] . Neuvedení tildy není jedinou podmínkou (viz "Rozšíření tildy" v man 1 bash ), tím se rozbalí :~/bin: obtížný. A musíte jej rozšířit, abyste mohli testovat s úplnou cestou v PATH .
Je jednodušší použít $HOME :
[[ ":$PATH:" != *":$HOME/bin:"* ]] && PATH="$HOME/bin:${PATH}"
export PATH
$HOME se rozbalí dříve, než je celý řetězec přiřazen k PATH variabilní. To znamená PATH nyní obsahuje úplné cestu k vašemu $HOME/bin . git tuto cestu pochopí.
K čemu v symbolickém odkazu ukazujícím na „127.0.1.1:+xxxxx“ je znak plus?
Jak získat n-tý řádek po grepovaném řádku?