====== Переменные окружения ======
* [[https://ru.wikipedia.org/wiki/Переменные_среды|Переменные среды]]
* [[https://stackoverflow.com/questions/56003777/how-to-pass-environment-variable-in-kubectl-deployment|how to pass environment variable in kubectl deployment?]]
===== Управление процессами через переменные окружения =====
==== Установленные переменные окружения ====
* [[https://askubuntu.com/questions/150210/how-do-i-set-system-wide-proxy-servers-in-xubuntu-lubuntu-or-ubuntu-studio|System-wide proxies in Ubuntu Studio, Xubuntu and XFCE must be set via environment variables]]
$ set
$ env
$ ps eaxwww
==== Установка переменных окружения ====
$ cat .bashrc
...
export http_proxy=http://proxy.isp.un:3128/
export https_proxy=http://proxy.isp.un:3128/
export no_proxy=localhost,127.0.0.1,isp.un,corpX.un
...
# cat /etc/skel/.pam_environment
# cat /etc/environment
...
#http_proxy=http://gate.corpX.un:3128
https_proxy=http://gate.corpX.un:3128
no_proxy=localhost,127.0.0.1,isp.un,corpX.un
$ set -a; source .env; set +a
$ LANG="" date
$ LANG="ru_RU.UTF-8" date
$ EDITOR=nano crontab -e
$ export http_proxy=http://gate.corpX.un:3128
$ wget http://gate.isp.un/virus.zip
===== Присваивание значений переменным окружения в shell =====
==== Статические значения ====
=== Текстовые ===
$ a=Hello
$ set | grep '^a'
$ echo $a
$ export a
$ env | grep '^a'
$ dir=/bin
$ ls -l $dir
$ echo $a
$ a=pwd
$ $a
$ a='Hello World'
$ a="Hello World"
$ a=Hello\ World
$ a="Hello"
$ b=$a
$ b='$a World'
$ b="$a World"
$ b=$a\ World
$ b=\$a\ World
$ b=$aWorld
$ b=${a}World
=== Арифметические ===
$ a=3+6
$ a=$((3+6))
$ a=$((a*6))
==== Результаты выполнения программ ====
$ dir=`pwd`
$ dir=$(pwd)
$ cd $dir
$ d=`date '+%Y.%m.%d'`
$ rnd=`jot -r 1 1 10`
$ filecount=`ls /bin | wc -l`
$ a=1
$ a=$(echo 30/7 | bc -l)
==== Ввод пользователя ====
$ echo -n "Enter Name: "; read a; echo Hello "$a"
==== SHELL подстановки имен файлов ====
$ a=/bin/c*
==== Чтение значений переменных окружения =====
$ request='GET /index.html HTTP/1.1'
$ echo ${request#GET /}
$ echo ${request% HTTP*}
$ PHONE=''
$ unset PHONE
$ PHONE=84951111111
$ echo ${PHONE:-84959999999}
BRANCH=${1:-master}
bash$ PHONE=+74951234569
bash$ echo ${PHONE: -10}
==== Аргументы приложения ====
set a b c
echo $3 $2 $1 $*
===== Удаление переменных окружения =====
$ unset CLICOLOR