Ответ 1
Вам нужно быть осторожным с этой командой. Он будет переопределить ваш $PATH.
Возможно, вам нужно будет поместить его в ~/.bash_profile
и изменить его на это:
export PATH="$HOME/opt/git/bin:$PATH"
Я попытался включить следующее неуспешно в свой файл ~/.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
не входит ни в один из ваших других каталогов поиска, и не должно быть никакого совпадения между командами в каталогеgit
bin и любыми другими, поэтому порядок не будет иметь никакого значения в этом случае.
Это в основном точная, но я немного закручу ее. Когда выполняется поиск команды, система ищет программу, просматривая ее в каждом каталоге в 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.