Я хочу встановити rvm на своїй машині Snow Leopard.
Там написано, що мені потрібно додати рядок до свого .bashrc
файлу (я використовую bash), але де мій .bashrc
файл?
Я хочу встановити rvm на своїй машині Snow Leopard.
Там написано, що мені потрібно додати рядок до свого .bashrc
файлу (я використовую bash), але де мій .bashrc
файл?
Відповіді:
Щодо проблеми з .bashrc
вищезгаданим:
У більшості систем ~/.bashrc
використовується лише при запуску інтерактивної оболонки без входу . Однак, коли ви запускаєте нову оболонку, вона часто є інтерактивною оболонкою для входу . Оскільки це оболонка для входу , то .bashrc
ігнорується. Щоб зберегти середовище послідовно між оболонками, які не входять у систему та вхідними даними, ви повинні подати джерело .bashrc
від свого .profile
або свого .bash_profile
.
Див. Посібник з Bash, розділ 6.2 Файли запуску Bash
Закликається як інтерактивна оболонка для входу, або з --login
Коли Bash викликається як інтерактивна оболонка для входу, або як неінтерактивна оболонка з опцією --login, вона спочатку зчитує та виконує команди з файлу / etc / profile, якщо цей файл існує. Прочитавши цей файл, він шукає у такому порядку ~ / .bash_profile, ~ / .bash_login та ~ / .profile та зчитує та виконує команди з першого, який існує та читається.
Закликається як інтерактивна оболонка без входу
Коли запускається інтерактивна оболонка, яка не є оболонкою для входу, Bash зчитує та виконує команди з ~ / .bashrc, якщо цей файл існує.
Отже, як правило, ваш ~ / .bash_profile містить рядок
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
після (або раніше) будь-яких ініціалізацій, що стосуються входу.
У моєму Mac (Running 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". Я думаю, що це специфікація верхнього рівня для оболонки.
Однак вам потрібно змінити кореневий обліковий запис, щоб змінити його. Місцеві специфікації для користувача "~ / .bashrc" повинні починатися з наступного фрагмента, щоб прочитати та завантажити налаштування башів на рівні системи:
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
Я зазвичай додаю псевдоніми в системний рівень bashrc, щоб усі користувачі могли також отримати доступ до них. Якщо вони не хочуть використовувати ваші ярлики та псевдоніми.
Удачі!
~/.bashrc
, а не /etc/bashrc
. /etc/bashrc
- це глобальні налаштування для всіх користувачів вашої системи, імовірно, це не те, що потрібно. Крім того, Apple може /etc/bashrc
періодично змінюватися і змінюватися , що може підірвати ваші налаштування.
Використовуйте файл .profile, щоб додати все, що ви додали до файлу .bashrc Linux.
Наприклад
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"