Итак, у меня нет .bash_profile
ни .profile
в моей домашней папке. Как мне их создать? После этого, что я должен делать каждый раз, когда открываю терминал, эти файлы читаются?
Вы можете использовать touch
команду.
Например,
cd ~
перейти в домашний каталог.
Теперь мы создадим файл с именем .bash_profile
(точка означает, что он будет скрыт).
Тогда используйте nano
или vi
в Терминале. Если вы не знаете, что vi
есть, просто используйте nano
. Чтобы открыть эти файлы, вы должны использовать:
sudo nano .bash_profile
sudo
гарантирует, что вы сможете сохранить эти файлы. Здесь вы можете добавить aliases
. nano
или vi
автоматически создаст новый файл, если он не существует в вашем текущем каталоге в Терминале.
После того, как вы закончите, нажмите Ctrl+ O, Enterи Ctrl+ , Xчтобы сохранить и выйти. Наконец, используйте
source ~/.bash_profile
перезагрузить Терминал, и он прочитает, что вы положили в эти файлы.
Конечно, вы также можете использовать псевдоним, если хотите. :)
Чтобы ответить на ваш последний вопрос, эти файлы будут автоматически читаться каждый раз, когда вы открываете Терминал. Однако, если есть ошибка (например, не ставьте пробелы между псевдонимами), она сообщит вам.
Как указал Джордж, .bash_profile
будет работать только при входе в систему. Для оболочек без входа в систему вам потребуется создать .bashrc
файл с:
sudo nano .bashrc
touch
для создания пустых файлов в первую очередь?nano
в любом случае делает это автоматически.~/.profile
в качестве копии~/.bash_profile
? И если у вас есть оба, что у вас внутри,~/.profile
что нельзя сделать~/.bash_profile
?sudo
убедитесь, что вы испортили права пользователя. Не делай этого.Вы можете скопировать эти файлы из / etc / skel /, которые являются скелетными файлами для новых пользователей, созданных командой вроде useradd в дистрибутивах на основе Debian:
Эти файлы будут автоматически загружаться оболочкой при каждом входе в систему. Способ загрузки этих файлов профиля описан на странице руководства вашей оболочки. Если вы используете специальную оболочку bash (например, через ssh, ansible и т. Д.), Вы должны использовать команду «bash -ilc», которую вы хотите выполнить в ENV, подготовленной этими файлами профиля ». -i означает интерактивную оболочку, что часто требуется для входа в систему .bashrc -l, что приводит к загрузке .profile (или .bash_profile существует - см. справочную страницу bash), который затем загружает .bashrc
источник
Я предпочитаю использовать текстовые редакторы с графическим интерфейсом, такие как BBEdit или TextWrangler. Эти текстовые редакторы могут обрабатывать невидимые файлы, такие как .profile и .bash_profile, и они имеют преимущество, заключающееся в наличии интерфейса с графическим интерфейсом, в отличие от nano, который является интерфейсом консоли.
TextWrangler
BBEdit
источник
Вы также можете использовать текстовый редактор с графическим интерфейсом, например TextEdit:
open -e
это ярлык дляopen -a TextEdit
.Вам не обязательно создавать .profile или .bashrc. Терминал и iTerm 2 открывают новые оболочки в качестве оболочек для входа, поэтому bash не читает .bashrc. Если существуют оба файла .bash_profile и .profile, bash читает только .bash_profile, когда он вызывается в качестве интерактивной оболочки входа. .profile читается ksh, когда он вызывается как интерактивная оболочка входа, и bash, когда он вызывается как sh, как интерактивная оболочка входа.
Я фактически сказал iTerm 2 открывать новые оболочки как оболочки без входа в систему, и мой .bash_profile просто содержит строку вроде
. ~/.bashrc
. tmux и режим оболочки в emacs по умолчанию открывают новые оболочки как не входящие в систему. .bash_profile все еще читается, когда я ssh на мой компьютер.источник
~/.bash_profile
и другое~/.profile
? А у тебя тоже есть~/.bashrc
?. ~/.bashrc
.