Remove env variable linux

Содержание
  1. ИТ База знаний
  2. Полезно
  3. Навигация
  4. Серверные решения
  5. Телефония
  6. Корпоративные сети
  7. Переменные окружения в Linux: как посмотреть, установить и сбросить
  8. Переменные окружения и переменные оболочки
  9. Про Linux за 5 минут
  10. Вывести список всех переменных окружения и оболочки
  11. Общий набор переменных окружения в Linux
  12. Установка переменных окружения в Linux
  13. Установить постоянные переменные окружения в Linux
  14. Использование файла .bashrc
  15. Использование файла .bash_profile
  16. Использование etc/environment
  17. Установить переменные окружения в одной строкой
  18. Сбросить переменные окружения в Linux
  19. Использование команды unset
  20. Использование команды set -n
  21. Установить переменную окружения PATH в Linux
  22. Заключение
  23. How to Set and Unset Local, User and System Wide Environment Variables in Linux
  24. 1. Local Environment Variable
  25. 2. User Environment Variable
  26. 3. System wide Environment Variables
  27. Understanding User-Wide and System-wide Configuration files
  28. .bashrc
  29. .bash_profile
  30. /etc/environment
  31. /etc/bash.bashrc
  32. /etc/profile
  33. Set or Unset Local or Session-wide Environment Variables in Linux
  34. 1. Using env
  35. 2. Using unset
  36. 3. Set the variable name to ”
  37. Learn How to Create, User-Wide and System-Wide Environment Variables in Linux
  38. 1. Set and Unset Local Variables in Linux
  39. 2. Set and Unset User-Wide Environment Variables in Linux
  40. 3. Set and Unset System-Wide Environment Variables in Linux
  41. Conclusion
  42. If You Appreciate What We Do Here On TecMint, You Should Consider:

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Переменные окружения в Linux: как посмотреть, установить и сбросить

Работа с переменными

Переменные окружения (или переменные среды) — это набор пар ключ-значение, которые хранятся в вашем Linux и используются процессами для выполнения определенных операций. Они отвечают за стандартное поведение системы и приложений. При взаимодействии с вашим сервером через сеанс оболочки, есть много информации, которую ваша оболочка обрабатывает, чтобы определить ее поведение и доступы. Некоторые из этих параметров содержатся в настройках конфигурации, а другие определяются пользовательским вводом. Оболочка отслеживает все эти параметры и настройки через окружение. Окружение — это область, которую оболочка создает каждый раз при запуске сеанса, содержащего переменные, определяющие системные свойства. Например, это может быть часовой пояс в системе, пути к определенным файлам, приложения по-умолчанию, локали и многое другое. Переменные окружения также могут использоваться в программах оболочки или в подоболочках для выполнения различных операций.

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

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

Переменные окружения и переменные оболочки

Переменные имеют следующий формат:

Должны соблюдаться следующие правила:

  • Имена переменных чувствительны к регистру (регистрозависимы). Переменные окружения должны быть написаны большими буквами (UPPER CASE).
  • Несколько значений переменных разделяются двоеточием :
  • Вокруг символа = нет пробела

Переменные можно разделить на две категории:

  • Переменные окружения (Environmental Variables) — это переменные, которые определены для текущей оболочки и наследуются любыми дочерними оболочками или процессами. Переменные окружения используются для передачи информации в процессы, которые порождаются из оболочки.
  • Переменные оболочки (Shell Variables) — это переменные, которые содержатся исключительно в оболочке, в которой они были установлены или определены. Они часто используются для отслеживания эфемерных данных, например, текущего рабочего каталога.

Про Linux за 5 минут

  • Вывести список всех переменных окружения и оболочки

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

    Это типичный вывод как для env , так и для printenv . Разница между этими двумя командами проявляется только в их более конкретной функциональности. Например, с помощью printenv вы можете запросить значения отдельных переменных:

    А как посмотреть переменные оболочки?

    Для этого можно использовать команду set . Если мы введем set без каких-либо дополнительных параметров, мы получим список всех переменных оболочки, переменных окружения, локальных переменных и функций оболочки:

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

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

    Общий набор переменных окружения в Linux

    Посмотрим на общий набор переменных окружения, которые вы можете найти в своей системе.

    • USER: текущее имя пользователя, использующего систему
    • EDITOR: какая программа запускается для редактирования файла на вашем хосте
    • HOME: домашний каталог текущего пользователя
    • PATH: список каталогов, разделенных двоеточиями, в которых система ищет команды
    • PS1: основная строка приглашения (для определения отображения приглашения оболочки)
    • PWD: текущий рабочий каталог
    • _: самая последняя команда, выполненная в системе пользователем
    • MAIL: путь к почтовому ящику текущего пользователя
    • SHELL: оболочка, используемая для интерпретации команд в системе, она может быть много разных (например, bash, sh, zsh или другие)
    • LANG: кодировка языка, используемая в системе
    • DESKTOP_SESSION: текущий рабочий стол, используемый на вашем хосте (GNOME, KDE)
    • HISTFILESIZE: количество строк истории команд, сохраненных в файле истории
    • HISTSIZE: количество строк истории, разрешенных в памяти
    • UID: текущий UID для пользователя
    • HOSTNAME: имя компьютера системы
    • TERM: указывает тип терминала
    • OLDPWD: предыдущий рабочий каталог
    • BASHOPTS: список параметров, которые использовались при выполнении bash.
    • BASH_VERSION: версия bash, выполняемая в удобочитаемой форме.
    • BASH_VERSINFO: версия bash с машиночитаемым выводом.
    • COLUMNS: Количество столбцов в ширину, которые используются для вывода вывода на экран.
    • DIRSTACK: стек каталогов, доступных с помощью команд pushd и popd.
    • IFS: внутренний разделитель полей для разделения ввода в командной строке. По умолчанию это пробел.
    • SHELLOPTS: параметры оболочки, которые можно установить с помощью параметра set.
    Читайте также:  Windows edb что это удалить

    Установка переменных окружения в Linux

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

    Самый простой способ установить переменные окружения — использовать команду export .

    Для примера создаим новую переменную, а затем экспортируем ее.

    Чтобы создать новую переменную оболочки с именем NEW_VARIABLE и значением «test», и затем сразу экспортировать ее введите:

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

    Установить постоянные переменные окружения в Linux

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

    Использование файла .bashrc

    Самый популярный способ постоянной установки переменных среды — это добавить их в файл .bashrc .

    Файл .bashrc — это скрипт, выполняемый всякий раз, когда вы инициализируете сеанс интерактивной оболочки. Как следствие, когда вы запускаете новый терминал через интерфейс GNOME или просто используете screen сессию, вы будете использовать файл .bashrc .

    Например, добавьте следующие записи в ваш файл .bashrc :

    Сохраните ваш файл и используйте команду source для перезагрузки файла bashrc для текущего сеанса оболочки.

    Вы можете вывести новую переменную окружения с помощью printenv и посмотреть, дату в Linux, изменив TZ.

    Отлично, ваши изменения теперь сохраняются после перезагрузки оболочки или системы!

    Использование файла .bash_profile

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

    Использование etc/environment

    Если вам нужно применить определенные переменные окружения для всех, то определить общесистемные переменные окружения. Чтобы установить общесистемные переменные окружения в Linux, вам нужно экспортировать переменные в файл /etc/environment .

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

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

    Установить переменные окружения в одной строкой

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

    Сбросить переменные окружения в Linux

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

    Использование команды unset

    Чтобы удалить переменную окружения, используйте команду unset со следующим синтаксисом:

    Выглядит это так:

    Использование команды set -n

    Кроме того, вы можете сбросить переменные окружения, используя команду set с флагом -n -n.

    Установить переменную окружения PATH в Linux

    В системах Linux очень часто задают переменную окружения PATH , чтобы система могла находить команды.

    Чтобы отобразить текущую переменную окружения PATH , выполните команду printenv :

    Чтобы установить переменную окружения PATH, добавьте строку export в файл .bashrc и используйте с ним команду source :

    Успех! Вы успешно обновили переменную окружения PATH в Linux.

    Заключение

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

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

    Онлайн курс по Linux

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

    Источник

    How to Set and Unset Local, User and System Wide Environment Variables in Linux

    Environment Variables are some special variables that are defined in shell and are needed by programs while execution. They can be system defined or user defined. System defined variables are those which are set by system and are used by system level programs.

    Set and Unset Linux Environment Variables

    For e.g. PWD command is a very common system variable which is used to store the present working directory. User defined variables are typically set by user, either temporarily for the current shell or permanently. The whole concept of setting and un-setting environment variables revolves around some set of files and few commands and different shells.

    In Broader terms, an environment variable can be in three types:

    Читайте также:  Файл windows media audio wma

    1. Local Environment Variable

    One defined for the current session. These environment variables last only till the current session, be it remote login session, or local terminal session. These variables are not specified in any configuration files and are created, and removed by using a special set of commands.

    2. User Environment Variable

    These are the variables which are defined for a particular user and are loaded every time a user logs in using a local terminal session or that user is logged in using remote login session. These variables are typically set in and loaded from following configuration files: .bashrc , .bash_profile , .bash_login , .profile files which are present in user’s home directory.

    3. System wide Environment Variables

    These are the environment variables which are available system-wide, i.e. for all the users present on that system. These variables are present in system-wide configuration files present in following directories and files: /etc/environment , /etc/profile , /etc/profile.d/ , /etc/bash.bashrc . These variables are loaded every time system is powered on and logged in either locally or remotely by any user.

    Understanding User-Wide and System-wide Configuration files

    Here, we briefly describe various configuration files listed above that hold Environment Variables, either system wide or user specific.

    .bashrc

    This file is user specific file that gets loaded each time user creates a new local session i.e. in simple words, opens a new terminal. All environment variables created in this file would take effect every time a new local session is started.

    .bash_profile

    This file is user specific remote login file. Environment variables listed in this file are invoked every time the user is logged in remotely i.e. using ssh session. If this file is not present, system looks for either .bash_login or .profile files.

    /etc/environment

    This file is system wide file for creating, editing or removing any environment variables. Environment variables created in this file are accessible all throughout the system, by each and every user, both locally and remotely.

    /etc/bash.bashrc

    System wide bashrc file. This file is loaded once for every user, each time that user opens a local terminal session. Environment variables created in this file are accessible for all users but only through local terminal session. When any user on that machine is accessed remotely via a remote login session, these variables would not be visible.

    /etc/profile

    System wide profile file. All the variables created in this file are accessible by every user on the system, but only if that user’s session is invoked remotely, i.e. via remote login. Any variable in this file will not be accessible for local login session i.e. when user opens a new terminal on his local system.

    Note: Environment variables created using system-wide or user-wide configuration files can be removed by removing them from these files only. Just that after each change in these files, either log out and log in again or just type following command on the terminal for changes to take effect:

    Set or Unset Local or Session-wide Environment Variables in Linux

    Local Environment Variables can be created using following commands:

    These variables are session wide and are valid only for current terminal session. To Clear these session-wide environment variables following commands can be used:

    1. Using env

    By default, «env» command lists all the current environment variables. But, if used with ‘-i’ switch, it temporarily clears out all the environment variables and lets user execute a command in current session in absence of all the environment variables.

    Here, var=value corresponds to any local environment variable that you want to use with this command only.

    Will give bash shell which temporarily would not have any of the environment variable. But, as you exit from the shell, all the variables would be restored.

    2. Using unset

    Another way to clear local environment variable is by using unset command. To unset any local environment variable temporarily,

    Where, var-name is the name of local variable which you want to un-set or clear.

    3. Set the variable name to ”

    Another less common way would be to set the name of the variable which you want to clear, to » (Empty). This would clear the value of the local variable for current session for which it is active.

    NOTE – YOU CAN EVEN PLAY WITH AND CHANGE THE VALUES OF SYSTEM OR USER ENVIRONMENT VARIABLES, BUT CHANGES WOULD REFLECT IN CURRENT TERMINAL SESSION ONLY AND WOULD NOT BE PERMANENT.

    Learn How to Create, User-Wide and System-Wide Environment Variables in Linux

    In section, we will going to learn how to set or unset local, user and system wide environment variables in Linux with below examples:

    1. Set and Unset Local Variables in Linux

    a.) Here, we create a local variable VAR1 and set it to any value. Then, we use unset to remove that local variable, and at the end that variable is removed.

    Читайте также:  Все драйвера для windows xp3

    Set Unset Local Environment Variables

    b.) Another way of creating a local variable is by using export command. The local variable created will be available for current session. To unset the variable simply set the value of variable to » .

    Export Local Environment Variables in Linux

    c.) Here, we created a local variable VAR2 and set it to a value. Then in-order to run a command temporarily clearing out all local and other environment variables, we executed ‘env –i’ command. This command here executed bash shell by clearing out all other environment variables. After entering ‘exit’ on the invoked bash shell, all variables would be restored.

    Use Env Command to Unset Variables

    2. Set and Unset User-Wide Environment Variables in Linux

    a.) Modify .bashrc file in your home directory to export or set the environment variable you need to add. After that source the file, to make the changes take effect. Then you would see the variable ( ‘CD’ in my case), taking effect. This variable will be available every time you open a new terminal for this user, but not for remote login sessions.

    Add the following line to .bashrc file at the bottom.

    Now run the following command to take new changes and test it.

    Set User-Wide Environment Variables in Linux

    To remove this variable, just remove the following line in .bashrc file and re-source it:

    b.) To add a variable which will be available for remote login sessions (i.e. when you ssh to the user from remote system), modify .bash_profile file.

    Add the following line to .bash_profile file at the bottom.

    When on sourcing this file, the variable will be available when you ssh to this user, but not on opening any new local terminal.

    Here, VAR2 is not initially available but, on doing ssh to user on localhost, the variable becomes available.

    Export User Wide Variables in Bash Profile

    To remove this variable, just remove the line in .bash_profile file which you added, and re-source the file.

    NOTE: These variables will be available every time you are logged in to current user but not for other users.

    3. Set and Unset System-Wide Environment Variables in Linux

    a.) To add system wide no-login variable (i.e. one which is available for all users when any of them opens new terminal but not when any user of machine is remotely accessed) add the variable to /etc/bash.bashrc file.

    Add System Wide Environment Variables

    After that, source the file.

    Now this variable will be available for every user when he opens any new terminal.

    Check System Wide Variables

    Here, same variable is available for root user as well as normal user. You can verify this by logging in to other user.

    b.) If you want any environment variable to be available when any of the user on your machine is remotely logged in, but not on opening any new terminal on local machine, then you need to edit the file – ‘/etc/profile’ .

    Add System Wide Variables in Profile

    After adding the variable, just re-source the file. Then the variable would be available.

    To remove this variable, remove the line from /etc/profile file and re-source it.

    c.) However, if you want to add any environment which you want to be available all throughout the system, on both remote login sessions as well as local sessions( i.e. opening a new terminal window) for all users, just export the variable in /etc/environment file.

    Add System Variable in Environment File

    After that just source the file and the changes would take effect.

    Check Environment Variable for All Users

    Here, as we see the environment variable is available for normal user, root user, as well as on remote login session (here, to localhost).

    To clear out this variable, just remove the entry in the /etc/environment file and re-source it or login again.

    NOTE: Changes take effect when you source the file. But, if not then you might need to log out and log in again.

    Conclusion

    Thus, these are few ways we can modify the environment variables. If you find any new and interesting tricks for the same do mention in your comments.

    If You Appreciate What We Do Here On TecMint, You Should Consider:

    TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

    If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

    We are thankful for your never ending support.

    Источник

  • Оцените статью