Я использую MSYS и имею файл vars.txt с переменной, оцениваю ключи как:
WINDIR C:/WINDOWS
STS_BUILD_DIRECTORY D:/STS/TMP
ALLUSERSPROFILE C:/Documents and Settings/All Users
Я хочу считать это в и настроить переменные среды. У меня есть сценарий удара setenv:
while read var value;
do
echo "performing export $var=$value"
export $var='$value'
done
и я называю его с
cat vars.txt | source setenv
Однако в моей среде переменные не установлены. Я также пытался превратить его в функцию, но никакую радость. Кто-либо здесь знает то, что я делаю неправильно?Спасибо.
Канал настраивает подоболочку. Когда подоболочка выходит, переменные потеряны.
Попробуйте это:
source setenv < vars.txt
Также Ваши одинарные кавычки могут предотвратить расширение переменной (я не знаю, верно ли это в MSYS). Попытайтесь измениться export
строка к этому:
export $var="$value"
Можно использовать declare
вместо export
если переменные не должны быть экспортированы.