Уточнение по пути обновления в bashrc

Я следую руководству по установке git на общий хост, и если возможно, мне нужны пояснения.

У меня есть доступ к GCC

jpols@MrComputer ~
$ ssh nookdig1@***.***.**.*'gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'

и я могу редактировать файл bashrc:

jpols@MrComputer ~
$ vi .bashrc

Однако я действительно не понимаю, как читать, если путь был добавлен правильно:

Обновите свой $ PATH Ничего из этого не сработает если вы не обновите $ PATH переменная окружения. В большинстве случаев это устанавливается в .bashrc. С использованием .bashrc вместо.bash_profile обновляет $ PATH для интерактивных и неинтерактивные сеансы - что необходимо для удаленных команд Git. Отредактируйте .bashrc и добавьте следующую строку:

export PATH = $ HOME / bin: $ PATH

Я добавил вышеупомянутое в файл и сохранил, но продолжает говорить

Убедитесь, что '~ / bin' находится в начале, так как $ PATH ищется слева направо;

Но ~ / bin отличается от указанного пути. Не мог бы кто-нибудь объяснить, что это означает?

После добавления пути, как указано, результат будет:

jpols@MrComputer ~
$ source ~/.bashrc

jpols@MrComputer ~
$ echo $PATH
/home/jpols/bin:/usr/local/bin:/usr/bin:/cygdrive/c/Python27:/cygdrive/c/Python27/Scripts:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/nodejs:/cygdrive/c/Program Files/Git/cmd:GYP_MSVS_VERSION=2015:/cygdrive/c/WINDOWS/system32/config/systemprofile/.dnx/bin:/cygdrive/c/Program Files/Microsoft DNX/Dnvm:/cygdrive/c/Program Files/Microsoft SQL Server/130/Tools/Binn:/cygdrive/c/HashiCorp/Vagrant/bin:/cygdrive/c/MAMP/bin/php/php7.0.13:/cygdrive/c/ProgramData/ComposerSetup/bin:/cygdrive/c/Program Files (x86)/Yarn/bin:/cygdrive/c/Program Files/PuTTY:/cygdrive/c/Program Files (x86)/Brackets/command:/cygdrive/c/Program Files (x86)/Calibre2:/cygdrive/c/Ruby22-x64/bin:/cygdrive/c/Users/jpols/AppData/Local/Microsoft/WindowsApps:/cygdrive/c/Users/jpols/AppData/Roaming/npm:/cygdrive/c/Users/jpols/AppData/Roaming/Composer/vendor/bin:/cygdrive/c/Users/jpols/AppData/Local/Yarn/bin:/cygdrive/c/Program Files (x86)/Nmap

Просто сравниваю первую часть:

Учебник: / home / joe / bin: / usr / local / bin: / bin: / usr / bin

Mine: / home / jpols / bin: / usr / local / bin: / usr / bin: /

Они разные, поэтому, прежде чем я продолжу, я надеюсь, что кто-то сможет объяснить, чего я пытаюсь достичь и как это сделать правильно. Спасибо.

0
12.07.2017, 05:53
1 ответ

Символ ' ~' используется для указания домашнего каталога текущего пользователя в системах UNIX. Поскольку имя пользователя на вашем компьютере отличается от имени пользователя на компьютере, используемом в учебнике, на который вы ссылались, к переменной PATH были добавлены разные пути к каталогам. Используя ' ~', вам не нужно вручную вводить имя пользователя для обращения к домашнему каталогу пользователя, что позволило создателю учебника создать код, который заставляет переменную PATH просматривать оба ваших домашних каталога, даже если оба ваших систем имеют разные пути к вашим домашним каталогам. (напр. /home/joe/binи /home/jpols/bin— разные каталоги, но ~/binможно использовать для обозначения обоих, так как «~» будет расширен системой до правильного пути)

0
28.01.2020, 04:44

Теги

Похожие вопросы