Описание тега banana
Этот ответ требует некоторый опыт написания сценариев командной оболочки Unix и знаниями с условиями переменная, значение переменной подстановки, запрос, Эхо, ядра, оболочки, утилиты, сессии и процесса.
В переменной среды (envar) - это набор глобальных переменных, которые могут повлиять на способ данного процессах будет вести себя на компьютере операционной системы.
1. Примерный введение:
Мы заменяем переменные окружения с $
и заглавные буквы. Например: $ПС1
.
Мы можем напечатать envar таким образом:
Эхо $ПС1
$ПС1
имеет значение строке Unix. Его родной значения: \у
\ш
$
.
\у
стоит для (текущего) пользователя,\ш
стенды для работы каталог,$
это на границе приглашение.
Итак, если мы делаем: Эхо $ПС1
, мы видим, что значения \у
, Ж\
Плюс знаком доллара в конце.
Мы могли бы изменить поведение Unix в этом контексте, если мы изменим значения этого envar. Например:
ПС1="\ж >"
Теперь запрос выглядит так (при условии, что рабочий каталог с именем "Джон"):
Джон >
Таким же образом мы могли бы сделать ПС1="Здравствуйте, я ваша подсказка >"
, так Эхо $ПС1
принесет:
Здравствуйте, я ваша подсказка >
В Bash 4.х.X, мы можем напечатать все переменные окружения в системе с ОКР
команды. Я предлагаю выполнение ОКР
в терминале и принять некоторые смотрят на выход.
2. Как эти данные показали и манипулируют:
Терминал сессии позволяют настроить переменные окружения, которые идут с Башем.
Вышеупомянутые изменения обычно носят временный характер, и вот почему:
Каждая сессия (который не суб-сессии) является уникальным, и некоторые процессы могут выполняться индивидуально, в то же время (каждый со своим набором переменные окружения), но обычно есть наследство от сессии до сессии 0 1 и выше.
Мы вносим изменения в одном процессе являются уникальными для него, и перестанет, если мы ее закрываем, не сохраняя их в некотором роде.
Так как мы можем сохранить эти изменения:
Существует несколько видов способов, доступных для сохранения изменений envar, в зависимости от объема работ мы выбираем. Вот несколько различных областей (уровней) для таких изменений:
- Уровень процесс: переменные окружения доступен только для программ в текущей сессии.
- Экспорт уровня: переменные окружения доступны для программ в текущей сессии, или все ее суб-сессий.
- Глобальном уровнях: изменения будут сохранены для всех сессий (основной и Сабы).
Где хранятся данные envar:
В Unix состоит из 3 основных слоев: ядра, оболочки и утилиты. Насколько мне известно, каждый снаряд имеет свои переменные окружения, и они построены преимущественно или исключительно в оболочке.
Конкретное место, в котором глобально изменить эти обычно /и т. д./профиль
, хотя мы можем также сделать это .bashrc и
конечно.
3. Создавая новые переменные окружения:
Мы можем создавать новые переменные окружения и вот способ, как Баш 4.х.х нет родной enavar имени Сообщение
(Как сказал, переменные окружения, как правило, преобразованы в прописные).
Сообщение="Привет мир!"
создаст его для нас, и теперь, если мы введите Echo $сообщение
, мы вам привет мир!
.
Если мы будем выполнять баш
в нашей текущей рабочей сессии (окна), мы хотели начать новый Баш суб-сессии и перестанет работать в первоначальном процессе, если мы не выполнить выход
.
Примечание: в операционных системах с эмулятор терминала (например, Ubuntu на рабочем столе), суб-сессии обычно работает на том же окне, но в новой сессии в другом окне-это не суб-сессии существующий (это рядом процесс).
Примечание: не используйте специальные знаки в значения envar такие как ! или они не могут быть спасены.
Экспорт envar от оригинальной сессии для всех суб-сессий:
Мы все еще можем использовать envar создан в первой сессии, во второй также, без регистрации в пользователей или глобальных файлы уровне conf (см. ниже данные). Вот как это сделать:
Перейти на оригинальной сессии (на текущем окне или другой) и выполнить:
экспорт сообщений
при экспорте, не использовать $
знак.
Сейчас экспортируется во все суб-сессий. Если вы будете делать Эхо $сообщение
на суб-сессии, независимо от пользователя или другой, он будет напечатан.
Обратите внимание, что оболочки внутренних переменных, таких как ПС1
не должны быть экспортированы, но если вы хотите, чтобы экспортировать их из какой-то причине и они не появляются, не выполнить Баш
после экспорта
, а Баш –нсопр
.
4. В $Path envar:
$Путь
- это envar, что пользователи обычно меняют чаще.
Если мы эхо $путь
, мы собираемся, чтобы увидеть этот поток:
/usr/местные/Бен:/usr/Бен:/ОГРН:/usr/местные/игры: каталог/usr/игры
Напечатанные значения этого envar разделяются двоеточиями (:), но вот потенциально более удобный способ (эти же значения):
/usr/местные/Бен
/usr/Бен
/бин
/usr/местные/игры
в /usr/игры
Это direcotries для поиска, когда мы запускаем программу.
При выполнении которых эхо
мы получим его местоположение файла - например, мы можем видеть это существует в /бен/Эхо
.
Исходя из этого, мы не должны вводить Эхо envar для просмотра значений evnar по. Мы также можем сделать:
/ОГРН/Эхо $ENVAR
В envar будет по-прежнему выполняться, например:
/ОГРН/Эхо $дома
Дает нам
/главная/пользователя || /корень
Просто как:
Эхо $дома
Дает нам
/главная/пользователя || /корень
Примечание: $домой
сокращенно ~
.
Система-$путь отношений, и возможного взаимодействия с пользователем:
В Bash 4.х.х, когда мы используем утилиту без полного пути, система будет использовать все 6 значений, упомянутых выше, в $путь
envar. Итак, он начнет с /пользователей/местные/Бен
, и следовать всем ее содержимым ищут Эхо
исполняемый.
В этом случае он не остановится /ОГРН/эхо
, в котором, в данном случае, исполняемый файл находится.
Следовательно, главная причина, мы можем настроить в$Path
envar, это установки исполняемых файлов, которые не находятся под любые свои исконные ценности.
После установки таких программ, мы должны поставить их в$Path
значение соответствующим образом, и тогда мы сможем работать с ними.
5. Приложение - расширение $путь
:
Мы можем экспортировать $путь
к Баш суб-сессий (что включает в bash расширения, таких как WP-CLI для WordPress или Друш для Drupal ) таким образом:
экспорт путь="/главная/Джон:$путь"
Это позволит добавить новое значение /главная/Джон
До $путь
, а затем сразу после этого, это приложение любой носитель значения (сразу после двоеточия), которые хранятся под синтаксис $путь
.
Такое постоянное изменение может быть сделано в соответствующем скрипте, обычно в файл/etc/профиль
и наименование .bashrc следующее
.