ivstefn

Dva načina pokretanja shell skripti

Shell skripta pokrenuta sa ./mojaskripta.sh se izvršava kao child process, i sve promjene na environment varijabli (tipa export VARIJABLA=nesto) se gube kada proces završi. Ovo je izvršavanja (executing a script), skripta se izvršava u drugom procesu.

Ako želimo da environment varijable budu dostupne nakon što skripta završi, pokrenemo skriptu u aktivnom shellu (sourcing a script). To postižemo sa . skripta.sh. Alternativno, neke implementacije poput bash-a ili zsh-a podržavaju oblik source skripta.sh, no ta notacija nije POSIX kompatibilna, te je time manje portabilna.

Prilikom izvršavanja . skripta se ne pretražuje $PATH. Morao pružati relativnu ili apsolutnu stazu do skripte, tipa . /usr/local/bin/mojaskripta, ili . ./moj/dir/skripta.sh.