вторник, 11 октября 2011 г.

Тонкости bash

Не могу не поделится рецептом так как решения "в лоб" я не нашел. Ситуация следующая. В скрипте нужно ненавязчиво проверить установленны ли переменные окружение и если не установлены то установить. При все простоте формулировке задача сложнее чем кажется т.к. например надо учитывать что ряд переменных содержат набор значений. Приветствуйте мой велосипед, он же "деликатный экспорт"

function softexport()
{
eval tmp_export_val=\$$1
if [[ $tmp_export_val == "" ]]
then
eval "export $1=$2"
else
if [ $(expr match $tmp_export_val $2) = 0 ]
then
eval "export $1=\$$1:$2"
fi
fi
}
вызывать соответственно например так
softexport LD_LIBRARY_PATH ${ORACLE_HOME}/lib

З.Ы. пишу скорее как памятку себе потому извините за отсутствие подробностей. Ежеели кому чего не понятно станет спрашивайте - отвечу.

Комментариев нет:

Отправить комментарий