LinuxForum.Fans
Тема

Файл с переменными для bash-скрипта

Автор: kroxa90 7 сообщений 4015 просмотров
#69238

Задача:
Куча скриптов, в которых используются одни и те-же переменные.
Каким образом прикрутить отдельный файлик, в котором будут инициализироваться эти переменные?

Вот нерабочий пример:

text

---- vars.bash
#!/bin/bash
#это переменная 1
export var1="hello"

#Остальные переменные export var2=" " export var3="world" exit 0

---- show.bash ./vars.bash

echo $var1 $var2 $var3

Запускаю show.bash, а в ответ тишина

#69240

не нужно export, просто обычное присваивание
http://www.linuxconfig.org/Bash_scripting_Tutorial

#!/bin/bash
# declare STRING variable
STRING="Hello World"
#print variable on a screen
echo $STRING

#69259
Writer написал:
не нужно export, просто обычное присваивание
#!/bin/bash
# declare STRING variable
STRING="Hello World"
#print variable on a screen
echo $STRING

В самом скрипте работает, а ежели его вызывает другой, то туда уже переменные не уходють...

#69264

Я обычно создаю отдельный файл с функциями и переменными, к примеру, function.sh, а потом вызываю его в скриптах:

text

#!/bin/sh                                                                                                                                                                                                                                                        
# Читаем переменные и функции                                                                                                              
. function.sh
# Далее идёт сам скрипт 
...
...
#69265

В show.bash вызывайте vars.bash так:

text
source ./vars.bash

Вместо source, совершенно верно, можно '.'.

Пётр.

#69268

Супер!!!
Спасибо.
То что доктор прописал. Буду лечиться...

#69482

на самом деле, то, что дочерний процесс не может изменить переменные родительского - хорошая идея.
а source (ака точка) это в некотором смысле "грязный хак", ИМХО. но в данном случае:

kroxa90 написал:
То что доктор прописал
Войдите или зарегистрируйтесь, чтобы ответить.