В чем разница: .bashrc и bash_profile?

Глобальные переменные среды

По соглашению переменным среды присваиваются имена в верхнем регистре. Вот некоторые из глобальных переменных среды, и что представляют собой значения, которые они содержат:

  • РАКУШКА: Имя оболочки, которая запускается при открытии окна терминала. В большинстве дистрибутивов Linux это будет баш если вы не изменили его по умолчанию.
  • СРОК: Окна терминала на самом деле эмулируют аппаратный терминал. Это содержит тип аппаратного терминала, который будет эмулироваться.
  • USER: Имя пользователя текущего человека, использующего систему.
  • PWD: Путь к текущему рабочему каталогу.
  • OLDPWD: Каталог, в котором вы находились до перехода в текущий рабочий каталог.
  • LS_COLORS: Список цветовых кодов, используемых выделить разные типы файлов,
  • MAIL: Если На вашем компьютере Linux установлена ​​система (по умолчанию это не так), она будет содержать путь к почтовому ящику текущего пользователя,
  • ДОРОЖКА: Список каталогов, по которым оболочка будет искать исполняемые файлы команд.
  • LANG: Настройки языка, локализации и кодировки символов.
  • ДОМ: Домашний каталог текущего пользователя.
  • _: Подчеркивание () переменная окружения содержит последнюю введенную команду.

СВЯЗАННЫЕ С: Как использовать pushd и popd в Linux

Мы можем видеть, что некоторые из них настроены на использование ничего более сложного, чем , который будет записать значения в окно терминала, Чтобы увидеть ценность удерживается переменной среды, вам нужно добавить знак доллара () к началу своего названия.

Приятно, что вы можете использовать завершение вкладки заполнить имя переменной среды для вас. Введите несколько букв имени и нажмите Tab. Имя переменной заполняется оболочкой. Если этого не произойдет, вам нужно будет набрать еще несколько букв, чтобы отличить переменную среды от других команд, имена которых начинаются с тех же букв:

echo $SHELL
echo $LANG
echo $HOME
echo $PWD

Чтобы создать свой собственный Глобальный переменные среды, добавьте их в файл. Вам нужно использовать редактировать этот файл:

sudo gedit /etc/environment

Чтобы добавить переменную среды, введите ее имя, знак равенства () и значение, которое вы хотите сохранить в переменной среды. Не ставьте пробел до или после знака равенства (). Имя переменной окружения может содержать буквы, подчеркивание () или цифры. Однако первый символ имени не может быть числом.

Если в значении есть пробелы, убедитесь, что вы заключили все значение в кавычки ().

Сохраните файл, а затем выйдите и снова войдите в систему. использование чтобы проверить, что новая переменная существует и содержит значение, которое вы установили:

echo $WEBSITE

Потому что это глобальная переменная среды, доступная каждому может ссылаться на переменную окружения при следующем входе в систему:

echo $WEBSITE

к увидеть все переменные среды сразу наберите , Выводов много, поэтому есть смысл передать его через , а затем в :

printenv | sort | less

Сортированный список переменных среды отображается для нас в ,

Мы можем передать вывод через искать переменные среды связанные с конкретной темой,

printenv | grep GNOME

СВЯЗАННЫЕ С: Как редактировать текстовые файлы графически в Linux с помощью gedit

5 ответов

56

Так получается, что в Mac OS X Snow Leopard, а также в Mac OS X Lion загруженный файл называется , а не .

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

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

Несколько примечаний:

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

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

74

Относительно проблемы с выше:

В большинстве систем используется только при запуске интерактивной не-login оболочки . Однако при запуске новой оболочки она обычно представляет собой интерактивную login оболочку . Поскольку это оболочка login , игнорируется. Чтобы поддерживать согласованность среды между недействительными и логическими оболочками, вы должны указать из вашего или вашего .

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

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

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

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

4

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

3

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

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

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

Удачи!

1

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

Например

Установка

Перед установкой вы можете посмотреть, какая оболочка используется в данный момент:

$ echo $SHELL

Установите пакет . Чтобы значительно расширить возможности автодополнения команд, установите также пакет .

Первоначальная настройка

Убедитесь, что Zsh был установлен правильно, выполнив следующую команду в терминале:

$ zsh

После этого вы должны увидеть скрипт zsh-newuser-install, который проведет вас через некоторые основные настройки. Если вы хотите пропустить первичную настройку, нажмите . Если скрипт не запустился, вы можете вызвать его вручную:

$ zsh /usr/share/zsh/functions/Newuser/zsh-newuser-install -f

Установка Zsh в качестве оболочки по умолчанию

Смотрите раздел .

Совет: При замене пользователь может перенести некоторые участки кода из в (например, приглашение командной строки и ), а также из в (например, )

10 ответов

Лучший ответ

Вы должны открыть этот файл в текстовом редакторе, а затем сохранить его.

Он откроет файл с помощью TextEdit, вставит ваши вещи и затем сохранит. Если вы откроете его снова, вы найдете свои правки.

Вы можете использовать другие редакторы:

Но если вы не знаете, как их использовать, проще использовать подход .

Кроме того, вы можете положиться на . Копировать

В системном буфере обмена, а затем в оболочке

Или вы также можете использовать

(теперь ждет ввода: вставьте два определения экспорта и нажмите ctrl-D).

392

Alessandro Vendruscolo
26 Май 2015 в 15:31

Самый простой ответ:

Шаг 1. Запустите Terminal.app.

Шаг 2: введите nano .bash_profile — эта команда откроет документ .bash_profile (или создаст его, если он еще не существует) в самом простом в использовании текстовом редакторе Терминала — Nano.

Шаг 3. Теперь вы можете просто изменить файл. Вставьте эти строки кода, чтобы изменить приглашение терминала.

Экспорт PS1 = «___________________ | \ w @ \ h (\ u) \ n | =>»

Экспорт PS2 = «| =>»

Шаг 4: Теперь сохраните изменения, набрав ctrl + o, нажмите return, чтобы сохранить. Затем выйдите из Nano, набрав ctrl + x.

Шаг 5: Теперь нам нужно * активировать ваши изменения. Введите source .bash_profile и посмотрите, как изменится ваше приглашение.

Это оно! Наслаждайтесь!

1

Soban Arshad
21 Авг 2020 в 09:57

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

Затем откройте / создайте правильный файл rc. Для Bash это или . Для оболочки Z это .

Добавьте эту строку в конец файла:

Для проверки обновите переменные, перезапустив Терминал или набрав , а затем сделав

1

Pavel
13 Июн 2020 в 20:23

Для меня Mac OS — Мохаве. и я сталкиваюсь с той же проблемой в течение трех дней, и в конце я просто записываю правильный путь в файле .bash_profile, который выглядит следующим образом:

  • note1: если у вас нет .bash_profile, создайте его и напишите строку выше
  • note2: заархивируйте загруженный SDK flutter в / development, если вы скопируете и вставите этот путь

1

Theo
22 Июл 2019 в 13:42

Mac OS X сохраняет путь не в .bash_profile, а в .profile, поскольку Mac OS X является ветвью семейства * BSD. Вы должны увидеть экспорт-бла-бла-бла в .profile после того, как выполните cat .profile на своем терминале.

2

neemo810707
28 Май 2015 в 02:43

Установите путь JAVA_HOME и ANDROID_HOME> Вы должны открыть терминал и ввести приведенный ниже cmd.

После этого вставьте ниже пути в файл базового профиля и сохраните его.

5

Bheem Singh
8 Май 2020 в 12:31

В Macbook шаг за шагом:

  1. Прежде всего откройте терминал и напишите его:
  2. Создайте свой файл bash:

Вы создали свой файл «.bash_profile», но если вы хотите его отредактировать, вы должны его написать;

  1. Измените свой профиль bash:

После сохранения в верхнем левом углу экрана: Файл> Сохранить .

@canerkaseler

6

canerkaseler
1 Мар 2019 в 03:41

Для начинающих: чтобы создать файл в домашнем каталоге в MacOS, запустите:

Затем вы можете вставить следующее:

Как видите, он включает несколько примеров псевдонимов и переменную среды внизу.

Когда вы закончите вносить изменения, следуйте инструкциям в нижней части окна редактора Nano для WriteOut () и Exit (). Затем выйдите из Терминала и снова откройте его, и вы сможете использовать только что определенные псевдонимы и переменные среды.

9

Myles O’Connor
31 Май 2017 в 16:14

Если вы используете MAC Catalina, вам необходимо обновить файл .zshrc вместо .bash_profile или .profile

60

Marcus Gallegos
10 Ноя 2019 в 06:59

Немного подробнее для новичков:

Сначала убедитесь, что существует файл .bash_profile? Помните, что файл .bash_profile отсутствует по умолчанию. Вы должны создать его самостоятельно.

Войдите в свою папку пользователя в Finder . Там должен быть найден файл .bash_profile. -> HD / Пользователи /

Помните: файлы с точкой в ​​начале ‘.’ по умолчанию скрыты .

Чтобы отобразить скрытые файлы в Mac OS Finder:

Если он не существует, вы должны создать .bash_profile самостоятельно.

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

Если его нет, используйте эту команду для создания файла :

Во-вторых, если вы не можете запомнить сложные команды для сохранения и закрытия в vim, nano и т. Д. (Способ, рекомендованный выше), самый простой способ редактировать — открыть файл .bash_profile в предпочитаемом вами редакторе кода (Sublime и т. Д.).

Finder -> Папка пользователя. Щелкните правой кнопкой мыши -> открыть с помощью: Sublime Text (или другого редактора кода). Или перетащите его в приложение в доке.

… А там его можно редактировать, передавать команды экспорта в новые строки.

90

Carthic
16 Сен 2019 в 12:12

Bash-приглашение, команда ls и цвета символов

Для необходимого минимума давайте улучшим строку приглашения, разнообразим вывод команды ls и включим отображение цветов. Все это можно сделать, подредактировав содержимое файла .bash_profile или .bashrc, который расположен в домашнем каталоге. В этом примере рассмотрим работу с первым файлом:

  • Откройте «Терминал» и введите команду nano .bash_profile.
  • Вставьте следующие строки:

Нажмите клавиши control+O, чтобы сохранить изменения, и control+X, чтобы выйти из нано-редактора.

Первая строка указывает, чтобы строка приглашения консольной bash-оболочки стала отображаться в цвете, а формат ее стал вида имя_пользователя@имя_машины:cwd $. Следующие две строки включают для командной строки поддержку цвета и настраивают отображение вывода команды ls.

В последней строке мы ссылаемся на команду ls, включив в это обращение несколько флагов. Флаг -G включает цвет в выходном потоке команды, -h переводит числовые значения в понятные пользователю единицы измерения, а -F добавляет символ косой черты (/) после имени каталогов.

Если выполнить все вышеуказанные действия, то окно командной строки при еще включенном нано-редакторе будет выглядеть так:

После выполнения всех действий откройте новое окно «Терминала», запустите команду ls — и вы увидите разницу.

Как работают переменные среды

Когда вы запускаете окно терминала и оболочка внутриссылка на коллекцию переменных обеспечивает правильную настройку оболочки. Эти переменные также обеспечивают доступность любой информации, к которой может понадобиться окно терминала и оболочка. В совокупности эти переменные содержат настройки, которые определяют среду, которую вы находите в окне терминала, вплоть до вида командной строки. Поэтому, естественно, они упоминаются как переменные среды.

Некоторые переменные среды являются общесистемными или глобальными. Другие в течение сеанса и видны только вам. Другие не могут ссылаться на ваши переменные среды сеанса. В оболочке определен третий набор переменных среды. Ваш языковой стандарт, настройки часового пояса и клавиатуры, набор каталогов, в которых выполняется поиск, когда оболочка пытается найти команду, и ваш редактор по умолчанию, хранятся в переменных среды оболочки.

Мы покажем вам, как увидеть переменные окружения, существующие в вашей системе, и опишем, как создать ваши собственные. Мы также покажем вам, как сделать их доступными для дочерних процессов и быть постоянными при перезагрузках.

Псевдонимы для новых отдельных пользователей, автоматически

То, когда учетная запись пользователя типа намеревалась представить настоящего человека, создается, новый каталог обычно делается служить их корневым каталогом. Содержание затем копируются в их корневой каталог. Это — то, как многочисленные пользователи начинают с некоторыми подобными конфигурационными файлами в их корневых каталогах. В Ubuntu это включает , , и некоторые другие файлы.

Для изменения, какие псевдонимы определяются для новых пользователей можно просто вставить их (необходимо будет создать его), или .

Если Вы редактируете уже существующий файл в можно хотеть создать резервную копию его сначала — но Вы не должны вставлять резервное копирование , или это также будет скопировано в корневые каталоги новых пользователей.

Это вероятно лучший способ для Вас добавить новые псевдонимы для многочисленных пользователей. Существующие пользователи могут просто добавить сами псевдонимы. Если Вы определяете псевдонимы в , можно просто направить их к тому файлу, который они могут принять решение скопировать в их корневые каталоги (или добавить в их собственное файл).

Это тривиально для пользователя для неопределения псевдонима. Кроме того, ; они работают только в особенности обстоятельства. Если необходимо создать новую команду, которая работает все время для всех, Вы не должны реализовывать ту команду как псевдоним. И Вы не можете успешно вызвать псевдонимы на пользователях, которые не хотят их — они могут просто их.

Фон: прозрачность, размывка и обои

После настройки «колоризации» командной строки можно перейти к параметрам фона окон «Терминала»:

  • В том же окне настройки утилиты выберите нужный пункт в списке профилей и перейдите на вкладку Окно (Window).
  • Щелкните на кнопке Цвет и эффекты (Color & Effects), чтобы выбрать цвет фона, степерь его прозрачности и размывки. Совет: приятный вариант, когда прозрачность установлена на 80, а размывка — на 100 %.
  • Щелкните на выпадающем списке Изображение (Image), чтобы выбрать фоновое изображение. Желательно соблюдать принцип: темные картинки — для темных, светлые — для светлых профилей.

Обычно настройки прозрачности и размывки фона вполне достаточно, но если задать еще и фоновые обои, результат может превзойти все ожидания вырвиглазной картиной. Все в ваших руках.

9 ответов

Лучший ответ

Интерактивный читает ваш , если это оболочка входа, или ваш , если это не оболочка входа.

Типичный будет содержать что-то вроде:

Поэтому может содержать команды, которые должны выполняться оболочками входа или не входящими в систему.

Если вы запустите , а не просто , он должен прочитать ваш .

Ссылка: https://www.gnu.org/software /bash/manual/html_node/Bash-Startup-Files.html

41

Keith Thompson
23 Апр 2014 в 02:17

Откройте и в самом низу файла добавьте следующее:

Каждый раз, когда вы открываете терминал, он загружает все, что определено в (если файл существует). При этом вы можете сохранить свои пользовательские настройки для zsh (цвета и т. Д.). И вы можете сохранить свои пользовательские настройки оболочки в файле .

Это намного чище, чем использование IMO.

Если вы предпочитаете сохранять настройки в , или , вы можете сделать то же самое для них.

99

Yuchen
20 Янв 2018 в 19:27

Чтобы дополнить отличный ответ @Keith Thompson:

macOS :

Как @chepner кратко говорит (курсив мой):

В результате некоторые пользователи OSX всегда создают только и никогда не беспокоятся о , потому что ВСЕ интерактивные оболочки bash являются оболочками входа .

Linux :

В Linux ситуация обычно обратная : Оболочки , созданные в интерактивном режиме, являются оболочками НЕ для входа , поэтому важен именно .

В результате многие пользователи Linux имеют дело только с .

Чтобы поддерживать профили bash, которые работают на ОБЕИХ платформах , используйте прием, упомянутый @Keith Thompson:

  • Поместите свои определения (псевдонимы, функции, …) в
  • Добавьте следующую строку в

26

mklement0
14 Ноя 2017 в 21:00

Для тех, кто только что установил zsh и хочет, чтобы их псевдоним из bash работал на zsh, выполните следующие действия.

  1. Откройте файл .zshrc в vim вот так

  2. Прокрутите вниз

  3. нажмите «i», чтобы включить режим записи
  4. Скажите zsh загружать элементы из bash_profile, когда это необходимо, например
  5. Напишите и закройте вот так
  6. Обновите свой zsh вот так Вот и все. Теперь весь ваш сохраненный псевдоним в .bash_profile будет готов к использованию в zsh.

25

Mussa Charles
28 Авг 2019 в 01:44

Скопируйте содержимое из ~ / .bash_profile и вставьте его в конец файла ~ / .zshrc.

19

nobody
4 Ноя 2015 в 02:51

Для пользователей ZSH на MacO я остановился на однострочном.

В самом низу ~/.zshrc я добавил следующую строку:

Он просто загружает настройки .bash_profile (псевдонимы, функция, экспорт $ PATH, …)

Если вы решите избавиться от ZSH и вернуться к обычному BASH, вы вернетесь в нормальное состояние без каких-либо проблем.

7

Yahel
14 Ноя 2016 в 09:21

Если это то, что вы делаете нечасто или вносить изменения просто неуместно, вы также можете «создать» .bash_profile после запуска дочерней оболочки bash.

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

4

theNbomr
23 Апр 2014 в 17:57

Недавно я установил oh-my-zsh в OS X и установил в качестве оболочки по умолчанию и столкнулся с тем же проблема. Я эту проблему, добавив в конце файла .

2

haccks
13 Сен 2018 в 21:08

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

  1. Добавьте новый псевдоним (а) в нижней части моего

  2. Сделайте zsh , чтобы загружать элементы из

  3. Обновить zsh

  4. Перезапустите приложение OSX Terminal.

  5. Попробуйте свой новый псевдоним!

1

Community
20 Июн 2020 в 09:12

7 Answers 7

You have to open that file with a text editor and then save it.

It will open the file with TextEdit, paste your things and then save it. If you open it again you’ll find your edits.

You can use other editors:

But if you don’t know how to use them, it’s easier to use the open approach.

Alternatively, you can rely on pbpaste . Copy

in the system clipboard and then in a shell run

Or alternatively you can also use cat

(now cat waits for input: paste the two export definitions and then hit ctrl-D).

A bit more detailed for beginners:

First, make sure the .bash_profile file is existing? Remember that the .bash_profile file isn’t there by default. You have to create it on your own.

Go into your user folder in finder. The .bash_profile file should be findable there. -> HD/Users/

Remember: Files with a point at the beginning ‘.’ are hidden by default.

To show hidden files in Mac OS Finder:

If it’s not existing, you have to create .bash_profile on your own.

Open terminal app and switch into user folder with simple command:

If it’s not existing, use this command to create the file:

Second, if you can’t memorise the nerdy commands for save and close in vim, nano etc (the way recommended above) the easiest way to edit is to open .bash_profile file in your favored code editor (Sublime etc.).

Finder -> User folder. Right click -> open with : Sublime Text (or other code editor). Or drag it on app in dock.

… and there you can edit it, pass export commands in new lines.

Disclamer: I am a newbie to UNIX programming.

I downloaded Anaconda but then realized that I did not need it. I deleted and uninstalled it as fully as I could find out how. It seems that everything to do with Anaconda is gone except that the $PATH variable retains paths to folders which no longer exist.

In the terminal when I type

How do I remove the Anaconda path? I know that I have to change the .bash_profile, but where exactly is the file located in Mac OS?

Two additional side questions:

1) is the ‘Python.framework’ path part of the built in Mac python distribution, or is that related to Anaconda as well?

2) what is the /opt/X11/bin related to in the path?

Можно представить, какой шквал камней пронзит воздух в ответ на заявление, что стандартный вид командной строки просто скучен. Ну да ладно, скучен, так скучен. Всего несколько простых приемов настройки — и цветовую палитру «блочной утилиты «Терминал» (Terminal) можно значительно расширить. Что, кстати, может упростить считывание текстовой информации.

Изменение приглашения bash

Поведение bash задается через соответствующий файл конфигурации .bashrc, расположенный в домашнем каталоге пользователя. Если имя вашего пользователя, например, diego, то путь к файлу будет следующим:

Или более краткий вариант:

Прежде чем вносить какие-либо изменения в него, настоятельно рекомендуется создать резервную копию данного файла. Для этого откройте окно терминала и введите следующее:

Примечание: Расширение .bak (от англ. «backup») сообщает нам, что файл является резервной копией.

Изменение приглашения bash на постоянку

Откройте для редактирования файл конфигурации bash:

В этом файле вы должны увидеть несколько различных настроек. Некоторые из них в данный момент неактивны и представляют собой обычные комментарии — строки синего или сине-зеленого цвета, отмеченные знаком . Строки белого цвета используются оболочкой для настройки её поведения.

Прокрутите страницу до конца файла конфигурации и добавьте следующую строку:

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

Сохраните файл (сочетание клавиш Ctrl+O, и затем Enter) и выйдите из редактора (Ctrl+X).

Обновите bash, чтобы применить изменения:

В результате наших манипуляций приглашение оболочки должно измениться на следующее:

Временное изменение приглашения bash

Вы можете временно изменить приглашение оболочки bash с помощью команды export. Изменения оболочки, внесенные данной командой, будут активны ровно до тех пор, пока пользователь не выйдет из системы.

Давайте зададим такой вид приглашения, при котором будет отображаться только имя пользователя:

В результате, приглашение оболочки должно немедленно принять вот такую форму:

Вы можете откатить вышеприведенные изменения, просто выйдя и заново зайдя в систему.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: