Переменные окружения
Управление процессами через переменные окружения
Установленные переменные окружения
Linux
$ 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
$ cat .bashrc
FreeBSD
SH
sh$ ls -G /
sh$ CLICOLOR='' LANG=ru_RU.KOI8-R ls /
sh$ CLICOLOR=''
sh$ export CLICOLOR
sh$ export CLICOLOR=''
sh$ ls /
sh$ cat .profile
CSH
csh# fetch http://val.bmstu.ru/unix/virus.zip
csh# setenv HTTP_PROXY http://ya.ru:3128
csh# fetch http://val.bmstu.ru/unix/virus.zip
csh# cat .cshrc
Присваивание значений переменным окружения в 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 подстановки имен файлов
Чтение значений переменных окружения
$ i=sip.conf.sample
$ echo $i
$ echo ${i}
$ echo ${i%.sample}
$ i='GET /index.html'
$ echo ${i#GET /}
$ PHONE=''
$ unset PHONE
$ PHONE=84951111111
$ echo ${PHONE:-84959999999}
bash$ PHONE=+74951234569
bash$ echo ${PHONE: -10}
Аргументы приложения
set a b c
echo $3 $2 $1 $*
Удаление переменных окружения