Бұл конфигурация туралы ақпарат бар, олар A немесе B-ден оқылуы мүмкін, егер ол қарапайым конфигурация туралы ақпарат болса, онда ол арқылы A және B-тен алынған C файлындағы үшінші файлда көрсетілуі керек. ./C
механизмі.
егер сіз А-дан А-ға қоңырау шала берсеңіз, B-ге қоңырауда айнымалы мәнді орнатыңыз, содан кейін осы мәнді A-де оқыңыз, содан кейін стандартты ./ B
пайдалансаңыз, онда барлық айнымалылар B инволюциясында белгіленетін А-ның қоршаған ортасына көшірілмейді.
Сценарийлер арасында «айнымалыларды ортақ пайдаланудың» ең ақылға қонымды тәсілі деп аталатын сценарийді А уақытша файлда қолдануға болатын айнымалы мәндер шығарады, содан кейін A B уақытынан бастап бұл іске қосылды. А астам күрделі тәсілдер айнымалы мәндерді A бағаланатын бағаланатын жолға шығарады. егер B құрамында болса:
#!/bin/bash -p
echo var=22
содан кейін А мен:
output=$(./B)
eval $output
echo $var
Мен шығу 22
. Бұл дұрыс болуы үшін қиын, тек сценарийлер арасында ауыспалы айнымалылардың қысқа тізіміне сүйену керек.
Айнымалыларды ортақ пайдалану үшін сценарийлерді алудың нақты жолы оларды тек функциялары бар және олармен жұмыс жасағаннан кейін A және B функцияларын шақыратын мастер-сценарий болуы керек, мысалы:
#!/bin/bash -p
. ./A
. ./B
do_a_stuff
echo $shared_variable
do_b_stuff
echo $shared_variable
егер А-дан код B-ға тәуелді болса, онда оларды іздеу арқылы сіз олардың арасында ортақ пайдаланылатын бірыңғай ат кеңістігімен аяқталады, сондықтан сіз B-ден А және А-дан функцияларды шақыра аласыз (бұл сіз функционалдық иерархияны бұзу және кодтаудың нашар түрі болып табылады).