[LUGOS] Spraviti spremenljivko iz subshella

Boris Sagadin boris.sagadin at uni-mb.si
Fri Dec 12 17:35:54 CET 2003


Metod,

Friday, December 12, 2003, 5:03:43 PM, you wrote:

[snip]
> $ echo $$; ./foo.sh

> in

> $ echo $$; . ./foo.sh
> oz.
> $ echo $$; source ./foo.sh

> ($$ ti izpiše PID trenutnega procesa)

>>P.S. /deflate ego
>>

> Enako velja zate.

Moja velika napaka je, da odgovarjam v enakem tonu, kot
sogovornik :)

Veliko programiram v Cju, tako da vem v cem je razlika. Morda sem
narobe prebral, a podal sem samo preprost nacin kako dobiti
spremenljivko iz skripte nato na voljo v shell. Ali je vmes fork() in
kaj se v ozadju dogaja, nekega casual uporabnika najbrz ne zanima.
Zanima ga rezultat.

Temu se strogo tehnicno torej res ne more reci exportanje v parent
(ker se skripta izvede v istem kontekstu, kot da bi jo rocno vpisali v
terminal) a mislil sem, da to pac hoce. Ce je zadevo resil z datoteko,
toliko boljse.

O memory modelu in sarjenju procesa po naslovnem prostoru drugih
procesov, pa smo razpravljali nekaj tednov nazaj.

Se bolj jasen nacin:
mars:~$ strace ./skripta 2>&1  | grep fork
fork()                                  = 25465
mars:~$ strace source ./skripta 2>&1  | grep fork
mars:~$

Lahko zdaj zakljucimo temo?

-- 
lp,
Boris




More information about the lugos-list mailing list