Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> dump переменных bash созданных в текущей сессии 
V
    Опции темы
boostcoder
Дата 24.7.2011, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 3
Всего: 110



подскажите, каким образом получить список переменных созданных в текущей сессии.
при помощи printenv получаю все переменные, даже те что не_мной/не_моим_скриптом созданы.

спасибо.

PM WWW   Вверх
VirtualVoid
Дата 24.7.2011, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.8.2009
Где: Сибирь

Репутация: 1
Всего: 1



Возможно, подойдет такой способ:

В файл ~/.bashrc добавить строку:
Код

env > $HOME/.envinit


А само сравнение список переменных, созданных в текущей сессии, можно выводить командой:
Код

env | diff --side-by-side --suppress-common-lines - ~/.envinit | sed -e 's/<$//'


У меня результат выглядит так:
Код

env | diff --side-by-side --suppress-common-lines - ~/.envinit | sed -e 's/<$//'
FOO=barr 
TESTENV1=blah_blah 
user@localhost:~>


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

env > $HOME/.envinit`date +%s`


Работать с несколькими будет в следующем варианте:
В файл  ~/.bashrc:
Код

env > $HOME/.envinit`tty | grep -oE "[[:digit:]]{1,}" | tr -d '\n'`


Команда вывода:
Код

env | diff --side-by-side --suppress-common-lines - ~/.envinit`tty | grep -oE "[[:digit:]]{1,}" | tr -d '\n'` | sed -e 's/<$//'


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

Это сообщение отредактировал(а) VirtualVoid - 24.7.2011, 21:10
PM MAIL ICQ   Вверх
boostcoder
Дата 29.7.2011, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 3
Всего: 110



VirtualVoid, то что нужно.
сильно благодарен smile 
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


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

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0666 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.