[LUGOS] Spraviti spremenljivko iz subshella

Boris Sagadin boris.sagadin at uni-mb.si
Fri Dec 12 13:39:30 CET 2003


BlaY0,

ne no prevec javkat. Pravilno sklepas. "skripta" je datoteka, po tvoje
file, kaj druga bi pa se lahko bilo (./)? Bash je skriptni jezik, vsaj
nazadnje ko sem preveril, je temu se bilo tako :)

Moj odgovor je letel na tole:

---
>>Ali je mozno kako spraviti spremenljivko, ki jo uporabljam v eni skripti,
>>v parent shell?
>>    
>>
>
>Naceloma z export :)
>
Ma, export ti naredi export v childe ne v parente ...
---

Torej, kako neko spremenljivko iz skripte spraviti v parent shell in ne
v nek drug parent (drugo skripto, program, whatever, ki morda nekje v
ozadju ze tece, morda celo v drugem shellu). Tu se strinjam, da bo vmesna
datoteka potrebna.

Baby steps varianta zate:

mars:~$ echo $FOO

mars:~$ cat > skripta
#!/bin/bash
FOO=`date`
export FOO
[CTRL+D]
mars:~$ chmod +x skripta
mars:~$ ./skripta 
mars:~$ echo $FOO        

mars:~$ source ./skripta 
mars:~$ echo $FOO        
Fri Dec 12 13:15:07 CET 2003
mars:~$

Se strinjava, da je $FOO v kontekstu skripte bila spremenljivka in smo
jo dobili v parent shell? Ja?

P.S. /deflate ego

Friday, December 12, 2003, 8:13:11 AM, you wrote:

> Jao jao! Ja kaj pa je ta ./skripta ki jo beres? Sem mislil da je to file?
> Lahko da se motim :) Samo to o cemer ti pises se nanasa na staticne zadeve
> ki so v datoteki (ce je to to) ./skripta, govora pa je bilo se mi zdi kako
> neko dinamicno spremenljivko (hmm, saj spremenljivka se spreminja, se
> pravi je privzeto dinamicna zadeva) vpeljat v nek drug parent.

> lp,B

> On Thu, 11 Dec 2003, Boris Sagadin wrote:

>>
>> Ni nujno. V bash-u:
>>
>> source ./skripta
>>
>> oz.
>>
>> . ./skripta
>>
>> povzroci, da ni treba pocat z datotekami.



-- 
lp,
Boris




More information about the lugos-list mailing list