Значение `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 .

  • Что такое подоболочка (в контексте документации make)?
  • Как повторить нулевое заполненное целое число в bash?
  • Как получить доступ к элементу массива в оболочке?
  • Сравнение строк со специальными символами с использованием if-loop не работает
  • Проверьте, существуют ли файлы в списке файлов в определенном каталоге
  • Команда тестирования в unix не выводит результат
  • Как я могу вызвать CTRL ^ C из подсказки пароля?
  • Самый практичный способ сравнения контрольных сумм md5
  • Возврат переменной из функции
  • Каково поведение & operator
  • Блокируйте ввод пользователя на интерактивной оболочке с помощью «cat / dev / ttyS0»
  • Interesting Posts

    Двоичный поиск неисправной линии

    Кажется, что fsck показывает другой результат между многопользовательским режимом и однопользовательским режимом

    Замена процесса bash временным файлом

    Что вы фильтруете / исключаете список при выполнении резервного копирования с помощью rsync?

    Принесите и удалите интерфейс моста, который

    На каких файлах действует инструмент Twnak Gnome (при изменении настроек ввода)?

    Что случилось с командой exit на моем терминале?

    Какую скорость передачи данных / записи следует ожидать для деструктивного теста записи badblock?

    Как отредактировать следующую строку после шаблона с помощью sed?

    Создайте список файлов из файла, содержащего ряд шаблонов глобусов

    Каковы способы повышения стабильности системы и предотвращения потери данных в условиях частых жестких перезагрузок и / или паники ядра?

    debian неустойчивый сбой

    arp-scan показывает машины, но я не могу пинговать некоторые из них

    как перезагрузить несколько компьютеров, используя цикл bash из файла txt

    Определение того, какое приложение использует сетевой интерфейс

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