Переменные окружения env в Linux

↓ Contents ↓
Introduction
env: список всех переменных окружения
Создать свою переменную
Видимость переменной
export

Introduction

Пример - путь до текущей директории.

Получить его можно командой pwd (present word directory)

pwd

Что равносильно

echo $PWD

/home/andrei

Все переменные окружения

Список переменых окружения можно получить командой env

env

LC_PAPER=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 XDG_SESSION_ID=5422 HOSTNAME=demoad.demo.andrei.com LC_MONETARY=en_US.UTF-8 TERM=xterm-256color SHELL=/bin/bash HISTSIZE=1000 LC_NUMERIC=en_US.UTF-8 QTDIR=/usr/lib64/qt-3.3 QT_GRAPHICSSYSTEM_CHECKED=1 USER=andrei LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45: LC_TELEPHONE=en_US.UTF-8 SUDO_USER=andrei SUDO_UID=1000 USERNAME=root MAIL=/var/spool/mail/andrei PATH=/sbin:/bin:/usr/sbin:/usr/bin LC_IDENTIFICATION=en_US.UTF-8 PWD=/usr/share/i18n/locales LANG=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 HOME=/home/andrei SUDO_COMMAND=/bin/su SHLVL=2 LOGNAME=andrei LC_CTYPE=en_US.iso88591 LESSOPEN=||/usr/bin/lesspipe.sh %s XDG_RUNTIME_DIR=/run/user/1000 SUDO_GID=1000 LC_TIME=en_US.UTF-8 LC_NAME=en_US.UTF-8 _=/bin/env OLDPWD=/home/andrei

Про переменные, которые начинаются на LC - читайте статью locale

Про переменную PATH читайте статью PATH в Linux

Если ваш список слишком длинный - перенаправьте вывод в less

env | less

Создать свою переменную

Довольно просто. Главное - не ставьте пробелы

newvar=9
echo $newvar

9

Обратите внимание, что и при использовании sudo значение можно получить

sudo echo $newvar

9

Видимость переменной

В предыдущей главе мы смогли увидеть значение переменной сделав sudo

Но будет ли видна эта переменная из другого терминала.

Запустим новый терминал командой bash (можно просто открыть новое окно)

bash
echo $newvar

Переменная не видна.

Вернитесь в старый терминал выполнив exit

exit
echo $newvar

9

Здесь по-прежнему можно увидеть значение

export

To перменную было видно во всех дочерних терминалах применяется команда export

export newvar
bash
echo $newvar

9

Теперь переменная видна и в дочернем терминале

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su, info@aredel.com if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: