Я хочу установить rvm на мою машину Snow Leopard.
Там написано, что мне нужно добавить строку в мой .bashrc
файл (я использую bash), но где мой .bashrc
файл?
Я хочу установить rvm на мою машину Snow Leopard.
Там написано, что мне нужно добавить строку в мой .bashrc
файл (я использую bash), но где мой .bashrc
файл?
Ответы:
Что касается проблемы с .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
приемлемо.
Получается, что в Mac OS X Snow Leopard, а также в Mac OS X Lion загружаемый файл называется .profile
, а не .bashrc
.
Что вы хотите сделать, это создать файл ~/.profile
и назвать его .profile (если он еще не существует).
Поместите туда любую информацию, которая вам нужна для загрузки каждого экземпляра bash (спасибо, thepurplepixel).
Пара примечаний:
-a
как параметр как так:ls -a
~
Символ обозначает , /Users/YourUserName
где YOURUSERNAME является короткое_имя ваше имя пользователя в.Редактировать: Крис Пейдж отмечает (правильно), что все, что вы поместите в файл .profile, будет применяться к любой оболочке, которую вы используете (например, zhs, bash, и так далее). Если вы хотите, чтобы содержимое влияло только на оболочку bash, поместите содержимое в .bash_profile
файл, а не в .profile
файл.
.bash_profile
уже существует в вашем домашнем каталоге, .profile
файл не будет прочитан!
Вы должны сделать свой собственный .bashrc
. Вы можете просто использовать текстовый редактор, чтобы создать файл с именем .bashrc
(без расширения) с нужным вам содержимым и сохранить его в своем домашнем каталоге ( /Users/YourUserName/
).
.bashrc
будет работать, но только если нет .profile
. Я думаю, ~/.profile
существует по умолчанию, хотя. Рад, что смог помочь! (И вы должны поставить свое решение в ответ и принять его для будущих читателей этого вопроса).
Я обнаружил, что в моей ОС 10.6.5 настройки bash находятся в "/ etc / bashrc". Я думаю, что это спецификации верхнего уровня для оболочки.
Однако для его изменения вам нужна учетная запись root. Локальные спецификации для каждого пользователя «~ / .bashrc» должны начинаться со следующего фрагмента, чтобы прочитать и загрузить настройки bash на системном уровне:
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
Обычно я добавляю псевдонимы на системном уровне bashrc, чтобы все пользователи могли получить к ним доступ. Если только они не хотят использовать ваши ярлыки и псевдонимы.
Удачи!
~/.bashrc
, а не /etc/bashrc
. /etc/bashrc
это глобальные настройки для всех пользователей вашей системы, что, вероятно, не то, что вам нужно. Кроме того, Apple может /etc/bashrc
периодически приходить и меняться , что может сдуть ваши настройки.
Используйте файл .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"