powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Shell спецам есть вопросик.
7 сообщений из 7, страница 1 из 1
Shell спецам есть вопросик.
    #32962102
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой маленький и наверно простой. Извиняюсь сразу, просто лень копаться. Может кто слету ответит, а...
Дык нужно считать некий конфиг и выставить переменные окружения. В конфиге они просто прописаны

Код: plaintext
1.
2.
3.
4.
name1=var1
name2=var2
...
nameN=varN

Считать и распарсить сию байду нет проблем, но вот выставить как-то с ходу не поехало. На линухе проблем никаких так как тама sh замаскирован под bash и простое коде
Код: plaintext
1.
export "$NAME1=$VAR1"
работает без проблем. Но на солярке получаем отлуп (что и правильно, товарищи!) А всякие извраты типа
Код: plaintext
1.
2.
$NAME1=$VAR1
export $NAME1
ессесвенно не прут =) (что тоже неудивительно). Я еще раз ивиняюсь, вопрос пустяк, тольки лень одолела....
...
Рейтинг: 0 / 0
Shell спецам есть вопросик.
    #32962147
Mich0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>На линухе проблем никаких так как тама sh замаскирован под bash и простое коде

Если проблема в том что чистый sh не понимает конструкцию export "$NAME1=$VAR1" то делай это через bash!

в скрипте укажи

#! /bin/bash
export "$NAME1=$VAR1"

ps Cолярки щас под рукой нет, но помню -- bash там есть!
...
Рейтинг: 0 / 0
Shell спецам есть вопросик.
    #32962200
FishingIsGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не уверен, что правильно понял вопрос, но если ты просто хочешь завить все пары в своё окружение из файла, то просто:

Код: plaintext
. ./my_stupid_file

точка-пробел-имя_файла (из csh, которая по умолчанию стоит в соляре надо сделать 'source ./my_stupid_file'). Это загрузит всё. Но не сделает им export. Если нужно делать export, то... Навскидку ничего элегантного на ум не приходит, но можно так:

Код: plaintext
1.
2.
cat ./my_stupid_file | sed 's/^\(.*\)=\(.*\)$/\1=\2;export \1;/g' > tmp_file
. ./tmp_file
rm ./tmp_file

Наверняка можно сделать красивее, но что то голова после вчерашнего на догоняет.
...
Рейтинг: 0 / 0
Shell спецам есть вопросик.
    #32962386
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
действительно вроде речь идет о том, что
export VAR="value" - это bash-евское

хотя у меня тот sh, что на фре - его понимает.
наверное это лишнее подтверждения что фря- не unix :-)

делать тада через sh, но последовательно делать export

че-нить типа

#!/bin/sh

while read a
do
key=`echo $a | cut -d= -f1`
value=`echo $a | cut -d= -f2`
eval $key=$value
export key

done < vars.dat

----------------

. script.sh
...
Рейтинг: 0 / 0
Shell спецам есть вопросик.
    #32964264
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой спасиб > -- null --
Я совсем про eval запамятовал... Конечно на bash в первой строчке поменять самый простой выход и он меня не интересовал - требование, чтоб все работало на sh. Солярка конечно bash имеет, но у клиента может стоять в весьма урезаном виде, без bash. Такое _тетеретициски_ возможно.

Вариант через задавания ресурса (.) тоже катит, но как сам автор выразился - некрасиво. С чем я тоже согласен.

Спасибо всем, вопрос можно считать закрытым.

Еще одно дополнение. На самом деле вся конфигурация лежит в xml файле. Если кого интересует как из sh распарсить xml - могу рассказать. Это поинтереснее, однако.
...
Рейтинг: 0 / 0
Shell спецам есть вопросик.
    #32964550
FishingIsGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrushokЕще одно дополнение. На самом деле вся конфигурация лежит в xml файле. Если кого интересует как из sh распарсить xml - могу рассказать. Это поинтереснее, однако.

Расскажи конечно. Если интересно, то положу в "shell gotchas". Хотя после вчерашнего голова ещё хуже...
...
Рейтинг: 0 / 0
Shell спецам есть вопросик.
    #32964746
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так вот, есть такая утилтка - xml называется. Ее можно поставить скачав xmlstarlet пакет здесь . Его можно и rpmом, и в source. Rpm под мандрайку, хотя на третьем федорином горе и девятой сусе пашет. Собран по умному, статицески. Коде тоже можно взять и скомпилить - правда парочку ошибок надо подправить =). Пользует сия байда XPath. XMLдокумент распарсивает за милую душу и меняет влет. Ну если, конечно док не очень большой. Для считывания, редактирования конфигов всяких оч. полезная штука (если хотите пальцы расстопырить и все в XML конфигурить). Чо непонятно, могу поподробнее объяснить, у меня сия штука уже неплохо заработала. Советую все равно скачать коде, так как там примеры имеются (к сожалению не все, все равно в гуглу лез за разъяснениями).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Shell спецам есть вопросик.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]