Значение `export PATH = …` в .bash_profile

Я использую mac уже несколько лет, и когда я в настоящее время изучаю рубин на рельсах, мне казалось, что я должен больше узнать о системе, которую я использую. Я посмотрел ~/.bash_profile , он выглядит так:

 PATH="/Users/nikolajandersen/.apportable/SDK/bin:$PATH" [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM$ # Setting PATH for Python 3.3 # The orginal version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/3.3/bin:${PATH}" export PATH export PATH=/usr/local/bin:$PATH export PATH=/usr/local/bin:$PATH 

Я совершенно новичок в этом и пытался сделать свой путь, хотя это все еще есть вопросы. Первый из них: поскольку существуют две одинаковые строки export PATH=/usr/local/bin:$PATH , я попытался удалить их. В результате такие команды, как nano и ls, больше не работали. Я вернул изменения, но я не понимаю, почему он должен был заявить два раза.

Другой вопрос: почему он иногда $ PATH, а иногда просто PATH без $? Почему -s "$HOME/.rvm/scripts/rvm" стоит в [[]] брекетах? И что делает export PATH ?

Может быть, кто-то может направить меня к легкому пониманию руководства / учебника / книги, где я мог бы все это узнать?

Update Это результат вывода echo $PATH

 /usr/local/bin:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/3.3/bin:/Users/nikolajandersen/.rvm/gems/ruby-2.0.0-p353/bin:/Users/nikolajandersen/.rvm/gems/ruby-2.0.0-p353@global/bin:/Users/nikolajandersen/.rvm/rubies/ruby-2.0.0-p353/bin:/Users/nikolajandersen/.rvm/bin:/Users/nikolajandersen/.apportable/SDK/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/sm/bin:/opt/sm/pkg/active/bin:/opt/sm/pkg/active/sbin 

Кажется, вы были правы с новой линией. Я снова удалил строку и убедился, что в конце есть пустая строка. Теперь команды все еще работают.

One Solution collect form web for “Значение `export PATH = …` в .bash_profile”

PATH before = – это имя переменной, и комбинация сообщает bash чтобы сохранить материал за переменной = в переменной.
$PATH – это значение переменной PATH до тех пор.

Комбинация PATH="some_path_to_stuff:$PATH" расширяет переменную PATH. В bash это разделенный двоеточие (:).


Что касается двойного добавления /usr/local/bin , я могу только догадываться, что вторая версия не имеет новой строки после нее (и находится в конце файла). В принципе это должно дать вам PATH, который начинается с /usr/local/bin:/usr/local/bin:.... Вы можете проверить это с помощью

 echo $PATH 

И если есть только один раз /usr/local/bin тогда выполните:

 echo "" >> ~/.bash_profile 

и войдите в систему, попробуйте снова напечатать $PATH .

  • Аутентификация ключа ssh не работает из сети / if-up.d / scripts
  • Шестнадцатеричная проверка последовательности чисел в Linux?
  • Выполнение параллельных команд
  • Печать эпохи с использованием даты
  • удалять дубликаты файлов в 2 каталогах
  • необходимо переместить файлы с именем в директории с соответствующими именами
  • Некоторая путаница в рабочем механизме ~ / .bash_history
  • Обработка ошибок в сценарии оболочки
  • Как получить счет всех расширений файлов на жестком диске с помощью терминала gnu + linux?
  • Как оболочка (например, bash) расширяет шаблоны подстановок?
  • Использование столбца nos в качестве значения переменной
  • Bash (Git) - файлы функций, псевдонима и SH
  • Interesting Posts

    Установка и удаление Python 3.x (версии 3.5 / 3.4.3)

    Восстановление старого рабочего стола Debian

    Как получить двойные графические карты, работающие под Linux?

    Состояние аккумулятора Lenovo T440s неизвестно, но зарядка?

    Невозможно добавить PPA, застрял в gpg: keybox

    Таблица маршрутизации и многократные перелеты

    LiveCD для LFS 7.0

    Запуск Instantbird в Fedora 64bits

    truecrypt 1: Синтаксическая ошибка: "(" неожиданный

    Является ли реализация Linux конфигурации «переменной» ARG_MAX отличной от других системных переменных и совместима ли она с POSIX?

    Невозможно предоставить общий доступ к рабочему столу во время использования тусовки google или show.in

    Отображение сообщений в tty с использованием whiptail через monit

    Проблема с локалью: «Ошибка настройки локали».

    btrfs: установка субворота по другому пути не работает – нет такого файла или каталога

    Как я могу узнать, какая программа обнюхивает пакеты?

    Linux и Unix - лучшая ОС в мире.