Цей рядок у вашому .profileмає бути одним із
export PATH="$PATH:$HOME/Unix/homebrew/bin"
PATH="$PATH:$HOME/Unix/homebrew/bin"
PATH=$PATH:$HOME/Unix/homebrew/bin
PATH=$PATH:~/Unix/homebrew/bin
~Характер тільки розширюються в свій домашньому каталог , коли це перший символ слова , і це некотируваних. У тому, що ви написали, значення ~знаходиться між подвійними цитатами і тому не розширюється. Навіть якби ви писали export "PATH=$PATH:"~/Unix/homebrew/bin, цей текст ~не розширюватиметься, оскільки це не на початку слова-оболонки.
Існує спеціальна диспенсія, яка призначена для запису значень для PATHі подібних змінних. Якщо ~тільки після знака рівності , що позначки призначення, або якщо ~це тільки після того, як :у правій частині присвоювання, то це розширений. Лише звичайні призначення мають це розповсюдження, export PATH=…не рахується (це дзвінок до exportвбудованого, який, як буває, має аргумент, що містить =символ).
Тут вам не потрібно експортувати, PATHоскільки він вже експортується. Вам не потрібно дзвонити, exportколи ви зміните значення змінної (за винятком старих оболонок Борна, яких ви не знайдете на OSX або Linux). Крім того, у призначенні (знову ж таки, exportне рахується) вам не потрібні подвійні лапки навколо правої частини, тому PATH=$PATH:~/Unix/homebrew/binце безпечно, навіть якщо $PATHмістить пробіли.
whichтут не винна;~повинні були розширені у визначенніPATH. У диваку є дивацтво, що воно~все одно розширюєтьсяPATH, тому дві кривди роблять правильні, подібні.