Страница 1 из 1
Загрузить переменные из файла?
Добавлено: 2009-07-12 17:53:58
dlocal
Сабж, как?
Есть файлик со строками вида:
val1=1
val2=ON
val3=true
и т.д.
Реально ли их загрузить в шеллскрипт как переменные?
Re: Загрузить переменные из файла?
Добавлено: 2009-07-12 18:11:18
mike345
Я гружу значения из файла конфигурации так:
Код: Выделить всё
var1=`cat $conf | grep var1=`; var1=${var1##*=}
Но при этом в файле $conf кавычки использовать нельзя.
И в значение попадает все от знака
= до конца строки невзирая на использование
;.
Re: Загрузить переменные из файла?
Добавлено: 2009-07-12 19:07:06
zg
dlocal писал(а):Сабж, как?
Код: Выделить всё
zg# ./1.sh
world
zg# cat 1.sh
#!/bin/sh
. 1.txt
echo $hello
zg# cat 1.txt
hello=world
zg#
Re: Загрузить переменные из файла?
Добавлено: 2009-07-12 20:37:49
Гость
zg, 1.sh, 1.txt, ни одного лишнего перевода строки и комментария. Специально стараешься, чтобы тя было сложнее понять? ;)
Re: Загрузить переменные из файла?
Добавлено: 2009-07-12 20:46:02
zg
Гость писал(а):Специально стараешься, чтобы тя было сложнее понять?

гм... а что есть сложности с пониманием трёх строк кода? ну тогда могу ещё ткнуть в ман
Код: Выделить всё
. file The commands in the specified file are read and executed by the
shell. The return command may be used to return to the . com-
mand's caller. If file contains any `/' characters, it is used
as is. Otherwise, the shell searches the PATH for the file. If
it is not found in the PATH, it is sought in the current working
directory.
так понятней?

Re: Загрузить переменные из файла?
Добавлено: 2009-07-12 21:43:57
Гость
zg писал(а):а что есть сложности с пониманием трёх строк кода? ну тогда могу ещё ткнуть в ман
не, я о source'инге знал и без этой темы. Но, прочитав твой пост, только с третьего раза понял о чем речь. Сначала не заметил где файл и где скрипт, потом не заметил расширения у 1.txt.

"Форматирование оставляет желать лучшего."
Re: Загрузить переменные из файла?
Добавлено: 2009-07-13 4:29:41
zg
Гость писал(а):только с третьего раза понял о чем речь
ну... читать то надо уметь
Гость писал(а):Сначала не заметил где файл и где скрипт, потом не заметил расширения у 1.txt.
гм... ну так надо просто быть внимательней
Гость писал(а):"Форматирование оставляет желать лучшего."
а ты бы как оформил?

Re: Загрузить переменные из файла?
Добавлено: 2009-07-14 16:44:58
Гость
zg писал(а):а ты бы как оформил?

наверное разделил бы на несколько кусков или хотя б добавил несколько лишних переносов строки.
Напр.,
foo.sh:
Код: Выделить всё
#! /bin/sh
# load settings from file
. my.conf
# print one of them
echo The value of pi constant is $pi.
my.conf:
проверяемКод: Выделить всё
$ ./foo.sh
The value of pi constant is 3.14.
Re: Загрузить переменные из файла?
Добавлено: 2009-07-22 11:30:47
paix
Борцам за простоту +1
всем остальным читать Эрика Реймонда (The art of unix programming)
