[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