PATH Anda berisi ~/bin yang tidak diperluas . Shell Anda mengerti apa itu ~/ artinya kecuali git ternyata tidak. Anda harus menyertakan path lengkap ke ~/bin di PATH Anda .
Jika Anda menggunakan PATH=~/"bin:${PATH}" bukannya PATH="~/bin:${PATH}" , perluasan tilde akan terjadi dan PATH akan menyimpan jalur yang diperluas. Tapi ada masalah dengan :~/bin: di dalam [[ ]] . Tidak mengutip tilde bukan satu-satunya syarat (lihat "Ekspansi Tilde" di man 1 bash ), ini membuat perluasan :~/bin: sulit. Dan Anda perlu mengembangkannya untuk menguji jalur lengkap di PATH .
Lebih mudah menggunakan $HOME :
[[ ":$PATH:" != *":$HOME/bin:"* ]] && PATH="$HOME/bin:${PATH}"
export PATH
$HOME diperluas sebelum seluruh string ditetapkan ke PATH variabel. Artinya PATH sekarang berisi lengkap jalur ke $HOME/bin Anda . git akan memahami jalur ini.