Я попытался включить следующее неуспешно в свой файл ~/.profile:
export PATH='$HOME/opt/git/bin'
Кажется, не работает, потому что $git ничего не дает. Я пытаюсь установить Git.
Я также пробовал команды здесь.
Я попытался включить следующее неуспешно в свой файл ~/.profile:
export PATH='$HOME/opt/git/bin'
Кажется, не работает, потому что $git ничего не дает. Я пытаюсь установить Git.
Я также пробовал команды здесь.
Вам нужно быть осторожным с этой командой. Он будет переопределить ваш $PATH.
Возможно, вам нужно будет поместить его в ~/.bash_profile и изменить его на это:
export PATH="$HOME/opt/git/bin:$PATH"
Как указал SirLancelot, вы reset ваш путь, а не увеличиваете его. Вы также использовали одинарные кавычки вместо двойных кавычек, поэтому значение было точно указано в строке, а не содержало расширенное значение $HOME. Как уже отмечалось, правильным решением является использование:
export PATH="$PATH:$HOME/opt/git/bin"
Или вы можете изменить порядок:
export PATH="$HOME/opt/git/bin:$PATH"
Тем не менее, все, что делает это, гарантирует, что при вводе git будет найден исполняемый файл.
В вашем вопросе также упоминается использование $git; вам придется установить эту переменную, возможно, используя:
export git=$(which git)
Сказав это, я не вижу преимущества использования $git, когда git находится на вашем PATH; это один дополнительный символ для ввода (и сдвинутых цифр тоже). Если вы хотите продолжить использование $git, вы, вероятно, не должны добавлять $HOME/opt/git/bin в PATH. Его присутствие замедляет неудачные поиски команд, и если вы всегда получаете доступ к git через $git (который теперь должен быть установлен с использованием: export git=$HOME/opt/git/bin/git), нет никакой пользы от наличия каталога git bin на вашем PATH.
Маси прокомментировал, что порядок бессмыслен, и Дуглас Ледер ответил:
Порядок не бессмыслен - это порядок [поиск каталогов]. Однако
gitне входит ни в один из ваших других каталогов поиска, и не должно быть никакого совпадения между командами в каталогеgitbin и любыми другими, поэтому порядок не будет иметь никакого значения в этом случае.
Это в основном точная, но я немного закручу ее. Когда выполняется поиск команды, система ищет программу, просматривая ее в каждом каталоге в PATH, пока не найдет ее. Итак, когда он ищет ls, например, с каталогом git bin в передней части PATH, оболочки будут искать $HOME/opt/git/bin/ls и не находят его и переходят в другие каталоги в вашем PATH, в конечном итоге найти его в /usr/bin/ls или /bin/ls. Некоторые оболочки кэшируют местоположение, где находится программа; другие нет. Таким образом, имеет смысл хранить /bin и /usr/bin рядом с вашей PATH, чтобы ускорить доступ к стандартным утилитам. Я всегда держу $HOME/bin перед моей ПУТЕЙ; Таким образом, я могу переопределить что-либо с моей собственной версией - и я делаю это для некоторых команд.
Кроме того, на моей основной рабочей машине каталог /usr/local/bin не находится под моим контролем. Поэтому я не верю в это, и я уверен, что это правильно в конце моей ПУТЫ, поэтому античный GCC в нем не тот, который я использую, например. [Хмм; они обновили его до 3.4.6; это было 2,95 или около того; все же, я использую 4.3.3.]
Еще одно предложение для вас. Подумайте о создании символической ссылки в $HOME/bin (при условии, что она есть, и она находится на вашем PATH), которая указывает на место установки git. Это означает, что вы не добавляете дополнительный каталог в PATH (так что все работает немного быстрее), но вы можете использовать версию git, которую вы решили использовать.
ln -s $HOME/opt/git/bin/git $HOME/bin/git
Вам нужно удалить '', попробуйте
export PATH=$HOME/opt/git/bin
И чтобы не переписать весь ваш путь, попробуйте это:
export PATH=$PATH:$HOME/opt/git/bin
Это должно сработать.
Где $HOME указывает?
Убедитесь, что $HOME/opt/ git/bin фактически содержит исполняемый файл с именем git.