export в bash

Привет уважаемые.
Подскажите как заставить отрабатывать export в bash?
Скрип будет запускаться с флешки, во время установки archlinux.
$ source script.sh
$ env | grep var=
var=5
$ cat script.sh
export var=5

p.s. сори так понятно? или я не угадал?
Ошибки в тексте-неповторимый стиль автора©
Первую строку понял, это запуск скрипта.
А вторая не совсем понятна, вывод содержимого скрипта, а далее?
А что там понимать... Первая команда - не просто запуск скрипта, а его запуск в текущей среде, т.е. все переменные текущей оболочки будут доступны скрипту.
Вторая команда - часть содержимого скрипта. Экспортируется переменная var со значением 5, которая впоследствии будет доступна всем дочерним процессам, которые может создать скрипт.

indeviral, все лаконично преподал. Другое дело что вопрос не совсем понятен. Чего хотите-то?
Вот скрипт, я хочу что бы внем работала команда export, без танцев, что в него надо дописать?
#!/bin/bash

loadkeys ru
setfont cyr-sun16
echo en_US.UTF-8 UTF-8 > /etc/locale.gen
echo ru_RU.UTF-8 UTF-8 >> /etc/locale.gen
locale-gen
export LANG=ru_RU.UTF-8
wifi-menu
lsblk | grep sda

exit 0
Так и будет. Все что будет вызывать скрипт унаследует переменную LANG.
Т.Е. Поэтому после завершения скрипта все остается на английском? Тогда придется скрипт запуска писать?
попробуй убрать exit 0 и запустить с source script.sh
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
zotkindm
Поэтому после завершения скрипта все остается на английском?
А при чем тут это? Укажите системную локаль в /etc/locale.conf, перезагрузитесь и получите желаемую локализацию.
Это во-первых. А во-вторых, если желаете чтобы переменные скрипта скопировались в текущую среду, запускайте его так:
. script
ЗЫ. Вам действительно нужны две локали? При наличии сгенерированой ru_RU.UTF-8 UTF-8, en_US.UTF-8 не нужна.
source это то же самое, что точка:
source script
или
. script
– выполнение файла script как часть текущего скрипта или интерактивного сеанса.

env без параметров выводит список переменных окружения (то есть наследуемых дочерними процессами), в отличии от команды
set , которая без параметров выводит список ВСЕХ переменных баша.
env -u var команда запускает команду БЕЗ переменной окружения var
env -i команда запускает команду вообще без переменных окружения.
var=x команда экспортирует переменную var со значением x только для выполняемой здесь же команды.
export var экспортирует обычную переменную баша в окружение, то есть делает её наследуемой всеми дочерними процессами.
 
Зарегистрироваться или войдите чтобы оставить сообщение.