85

Я хочу установить rvm на мою машину Snow Leopard.

В нем говорится, что мне нужно добавить строку в мой файл .bashrc (я использую bash), но где мой файл .bashrc ?

5 ответов5

76

Что касается проблемы с .bashrc выше:

В большинстве систем ~/.bashrc используется только при запуске интерактивной оболочки без регистрации. Однако, когда вы запускаете новую оболочку, она часто представляет собой интерактивную оболочку входа в систему. Поскольку это оболочка входа в систему , .bashrc игнорируется. Чтобы обеспечить согласованность среды между не входящими в систему и входящими в нее оболочками, вы должны получить .bashrc из вашего .profile или .bash_profile .

См. Справочное руководство по Bash, раздел 6.2.

Вызывается как интерактивная оболочка для входа или с --login

Когда Bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с параметром --login, она сначала читает и выполняет команды из файла /etc /profile, если этот файл существует. После прочтения этого файла он ищет ~ /.bash_profile, ~ /.bash_login и ~ /.profile в указанном порядке, а также читает и выполняет команды из первой, которая существует и доступна для чтения.

Вызывается как интерактивная оболочка без авторизации

Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, Bash читает и выполняет команды из ~ /.bashrc, если этот файл существует.

Так что, как правило, ваш ~ /.bash_profile содержит строку

   if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

после (или до) любых инициализаций, специфичных для входа в систему.

На моем Mac (под управлением Leopard) не было строки для источника ~/.bashrc . Я должен был добавить эту функциональность самостоятельно.

В некоторых системах и других операционных системах .bashrc поступает из глобального /etc/profile или /etc/bash_profile , или выполняется с использованием файлов шаблонов из /etc/skel .

Если честно, различие между .bashrc и .bash_profile не очень хорошо понято сообществом. Когда многие разработчики говорят «Добавить это в ваш .bashrc», они действительно имеют в виду «Добавить это в ваш .bash_profile». Они хотят, чтобы функциональность была добавлена в вашу оболочку входа в систему (то есть .bash_profile), а не в вашу оболочку, не входящую в систему . В действительности это обычно не имеет значения, и размещение конфигурации в .bashrc приемлемо.

58

Получается, что в Mac OS X Snow Leopard и Mac OS X Lion загружаемый файл называется .profile , а не .bashrc .

То, что вы хотите сделать, это создать файл в ~/.profile и назвать его .profile (если он еще не существует).

Поместите туда любую информацию, которая вам нужна для загрузки каждого экземпляра bash (спасибо, thepurplepixel).

Пара замечаний:

  1. Точка перед файлом помечает его как невидимый для Finder и команды ls по умолчанию. Чтобы вывести список невидимых файлов с помощью команды ls из терминала, используйте параметр -a как таковой: ls -a
  2. Символ ~ обозначает /Users/YourUserName где YourUserName - это короткое имя вашего имени пользователя.

Редактировать: Крис Пейдж отмечает (правильно), что все, что вы поместите в файл .profile, будет применяться к любой оболочке, которую вы используете (например, zhs, bash и так далее). Если вы хотите, чтобы содержимое влияло только на оболочку bash, поместите содержимое в файл .bash_profile вместо файла .profile .

4

Вы должны сделать свой собственный .bashrc . Вы можете просто использовать текстовый редактор, чтобы создать файл с именем .bashrc (без расширения) с нужным содержимым и сохранить его в своем домашнем каталоге (/Users/YourUserName/).

3

Я обнаружил, что в моей ОС 10.6.5 настройки bash находятся в "/etc/bashrc". Я думаю, что это спецификации верхнего уровня для оболочки.

Однако для его изменения вам нужна учетная запись root. Локальные спецификации для каждого пользователя "~/.bashrc" должны начинаться со следующего фрагмента, чтобы прочитать и загрузить настройки bash на системном уровне:

if [ -r /etc/bashrc ]; then
    . /etc/bashrc 
fi

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

Удачи!

1

Используйте файл .profile, чтобы добавить все, что вы хотели бы добавить в файл linux .bashrc.

Например

PATH=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/:/opt/local/bin:/opt/depot_tools/:~/bin:$PATH
alias t='/Users/<username>/.todo/todo.sh'
alias punch='python /Users/<username>/.todo/Punch.py'
alias clock='cat </dev/tcp/time.nist.gov/13'
alias sudotext="sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit" 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .