Как добавить ~/bin в свой путь?

У меня возникли проблемы с изменением пути добавления Sublime Text 2. Я добавил каталог ~/bin и запустил эту команду:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

Ссылка subl появляется в ~/bin. Но мне нужно добавить каталог ~/bin на мой путь. Я новичок в этом, и я не знаю, где мой путь. Я осмотрелся и обнаружил, что вероятными файлами являются .profile, .bash_profile или .bashrc

У меня нет .bash_profile. В .profile и .bashrc я добавил

PATH=$PATH:~/bin/subl
export PATH

Правильно ли это добавить? И если да, где я должен его добавить?

Когда я echo $PATH, я получаю:

/Users/<username>/.rvm/gems/[email protected]/bin:/Users/<username>/.rvm/gems/[email protected]/bin:/Users/<username>/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/<username>/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Когда я печатаю subl, я получаю:

-bash: subl: command not found

Спасибо!

p.s. Я ранее устанавливал Macports, который изменил мой файл .profile. Не уверен, что это связано с этим - теперь я не знаю, как выглядит по умолчанию .profile.

Ответ 1

Я был так же новичком в этом, как и вы, а это значит, что я даже не был уверен, как читать половину материала, связанного с изменением PATH. В конце концов, хотя я нашел способ сделать это, что не требует, чтобы вы поместили subl в .rvm/bin (поскольку это для чего-то еще), но в его соответствующем каталоге, который равен ~/bin.

Перейдите к своему терминалу и введите:

open -a Finder /usr/bin

Это откроет ваш Finder в каталоге /usr/bin. Как только вы откроете новый Finder, перейдите в "Приложения", щелкните правой кнопкой мыши значок "Sublime Text" и перейдите к "Показать содержимое пакета", а затем в "Содержимое", SharedSupport, bin. Скопируйте subl файл и вставьте его в другой Finder, показывающий /usr/bin

Что это! Вы должны использовать команду:

subl . (or subl file.name)

Ответ 2

Прочитайте все комментарии. Вам нужно добавить символическую ссылку в sublime в /usr/local/bin. Его не требует доступа root. И не нужно создавать другой каталог bin.

Для Sublime Text 2

ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/

Для Sublime Text 3

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/

Ответ 3

Обновление для zsh По какой-то причине "~/bin" на моем пути не работал, когда я недавно переключился с bash на zsh/prezto. Я изменил его на "/Users/myusername/bin", и он снова работает отлично. Я буду искать причину и обновить, когда найду его. Прокомментируйте, если у вас есть лучшее решение.

Я знаю, что это старый пост, но я думал, что буду документировать решение для всех, кто пытается следовать инструкциям данным sublimetext для работая с возвышенным из командной строки OSX дословно. Обновление для возвышенного текста 3 Документация Sublime Text 3

1) Создайте в своем домашнем каталоге каталог "bin" "~/"

mkdir ~/bin

2) Создайте символическую ссылку на свое возвышенное текстовое приложение 2 в новом созданном каталоге

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

Обновление для сайта Sublime Text 3 немного отличается:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl

3) Следуйте инструкциям Райана Хоффмана о том, как легко добавить к пути в OSX: добавить путь к Mac OSX Добавить вновь созданный "~/bin" на путь, используя его технику. Ваш файл /etc/paths будет выглядеть примерно так, когда вы закончите (обратите внимание на ~/bin в конце):

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
~/bin

4) Откройте новое окно терминала, чтобы начать использовать subl из командной строки.

Ответ 4

Вам не нужно делать PATH=$PATH:~/bin/subl. Вместо этого PATH=$PATH:~/bin достаточно. Таким образом, вы сообщаете оболочке посмотреть в ~/bin для двоичных файлов. С вашей командой вы сказали оболочке заглянуть в "папку" ~/bin/subl для двоичных файлов, что не работает. Кроме того, вам не нужно добавлять команды в два файла. Добавьте их один раз в свой .bashrc. Я не эксперт bash, но я могу порекомендовать читать это сообщение в блоге для дальнейшего объяснения различных файлов автозагрузки.

Ответ 5

Я хотел бы представить альтернативное решение этой проблемы. Используйте каталог уже на вашем пути. Вот так:

$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

ТЛ; дг

Я столкнулся с той же проблемой в Yosemite (OS X 10.10), где в новой установке ОС каталог ~/bin не существует и не находится на вашем пути. Однако на вашем пути есть много полезных мест, где вы можете разместить символическую ссылку на Sublime.

Например, вот элементы, находящиеся на моем пути (используйте $ echo $PATH для получения списка):

/Applications/Postgres.app/Contents/Versions/9.3/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin:/usr/local/bin
/usr/local/mysql/bin

Вы можете легко изменить script, чтобы использовать местоположение уже в своем пути, изменив часть, которая говорит ~/bin/subl, на /usr/local/bin/subl

Таким образом, выполнение следующей команды выполнит вашу задачу.

$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Ответ 6

Вам нужно сначала создать символическую ссылку на /usr/bin. Символьная ссылка - или SymLink - является псевдонимом или ярлыком для каталога. Сделайте следующее:

  • Сначала убедитесь, что вы находитесь в своем домашнем каталоге, используя командную строку терминала

    cd ~

  • Создайте символическую ссылку в вашем каталоге usr/bin.

    ln -s /usr/bin bin

    Где ln= создать ссылку, -s= символический, а затем [target diectory] и [name of link]

  • Проверьте свою новую ссылку

    cd bin

    Это приведет вас к вашему ~/bin - то же самое, что и /usr/bin. ~ указывает, что внутри него скрыт длинный путь.

  • Теперь вернитесь в свою домашнюю папку, чтобы установить команду subl

    cd ~

  • Установите инструмент командной строки Sublime Text 2. Я буду использовать sudo, чтобы обойти все блоки разрешений.

    sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

    Вы должны быть хорошими! Протестируйте его, просто введя subl в качестве командной строки, и он должен запустить Sublime Text 2 из терминала.

Ответ 7

имел такую ​​же задачу и закончил тем, что просто создал файл .bash_profile и добавил прямое указание пути. Работал без инцидентов. Вы можете также проверить Alvin Alexander sample.bash_profile post (http://alvinalexander.com/blog/post/mac-os-x/sample-mac-osx-bashrc-terminal-startup-file) - Я нашел пару других полезных команд, которые я буду добавьте также.

Ответ 8

Простым образом это делается на терминале:

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/bin/subl

Здесь хранится мое Sublime, попробуйте ввести путь к Sublime, потому что ваша версия может отличаться.

subl . 

Должно работать нормально.

Ответ 9

Недавно я боролся с этой проблемой. Я понял, что ~ не распространяется на ваш домашний каталог в пути. По крайней мере, это было не для меня.

Это то, что я сделал, чтобы заставить его работать.

export PATH=$PATH:$HOME/bin

Мой subl был связан из каталога приложения с моим ~/bin за некоторые последующие инструкции, которые я нашел для brew cask. К сожалению, путь не обновлялся.

Ответ 10

Вот полные инструкции для этого (для Sublime Text 3):

  • Проверьте состояние защиты целостности системы с помощью следующей команды:

    $ csrutil status
    

    Если он включен, выполните следующие действия:

    • Загрузитесь в ОС восстановления ОС X, перезапустив машину и удерживая Command + R при запуске.

    • Запустите терминал из меню "Утилиты".

    • Выполните следующую команду:

      $ csrutil disable
      $ reboot
      

    Это связано с функцией безопасности OS X, называемой Защита целостности системы, которая защитит от несанкционированного доступа к местоположениям и процессам системы. Поэтому, если эта функция включена, вы не сможете изменять содержимое /usr/bin.

  • Создайте символическую ссылку от /usr/bin до ~/bin:

    $ sudo ln -s /usr/bin ~/bin
    
  • Создайте символическую ссылку из инструмента CLI Sublime Text 3 в ~/bin:

    $ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin
    
  • Проверьте его.

    $ subl .
    

Ответ 11

echo $PATH

и используйте один из уже существующего пути. В этом примере "/usr/local/bin"

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

если система возвращает No such file or directory

sudo mkdir /usr/local/bin/
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

проверить, работает ли он

subl

Это для Sublime Text 3.

Ответ 12

после работы со мной. У меня есть Sublime version 3 и размещаю его здесь, если кто-то ищет помощь:

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /bin/subl

Ответ 13

Кажется, что в Yosemite команда на самом деле для Sublime 3, но я могу ошибаться:

    ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/