Daemon? DETAILS PREASE! Det er en process som ligger i baggrunden ikke? Lidt ligesom en Thread i Java og C#?
En daemon har ikke noget med threads at gøre, men det er som du siger en proces som ligger i baggrunden. Ligesom services i Windows.
Apache og cron er typiske eksempler på daemons...daemons har så ikke så meget med miljøvariable at gøre.
~/.bashrc eller ~/.bash_profile
Hvor finder jeg disse filer?
Det var den FULDE sti du fik, så lige dér :-)
'~' er synonym med dit hjemmebibliotek, så det er det samme som '$HOME'.
Filer som starter med et punktum er skjulte, men kan vises med 'ls -a'.
Så når man ikke bruger export ændres miljøvariablen kun i de processer som kører INDE i den shell man bruger lige nu (ville det ikke svare til "this" i java?)?
Yes (men jeg kan ikke helt se analogien med Java)...det er nok sjældent, at man bruger det. Jeg selv bruger det til at eksekvere programmer med en midlertidig LD_LIBRARY_PATH variabel, som fortæller lænkeren hvor den skal lede efter shared libraries.
Hvordan ændrer man så miljøvariabler globalt? Hvordan ændrer man $PATH til ALTID at kigge i f. eks /Home/home/Bin også?
Du kan tilføje dem til din egen .bashrc eller .bash_profile. Så findes de i DIN shell.
Eller du kan tilføje dem til /etc/bashrc, så er de i alles shell (men ikke i programmer som er startet uden en shell).
Hvad skal programmer bruger miljøvariabler til? Kan du/I komme med et eksempel.. - og kan "childs" ændre miljøvariabler på vegne af sig selv? Altså så de kun ændrer miljøvariablerne lokalt?
Programmer kan ændre deres egne miljøvariable.
Miljøvariable er input til programmer, så de kan bruges til alt det samme, som du ville bruge al anden input til.
F.eks. hvis dit program skriver til en fil, så kunne du give stien til filen på som et argument:
$ ./my_program --out /tmp/outfile
...eller som en miljøvariabel:
$ OUTFILE=/tmp/outfile ./my_program
Det typiske er sikkert at bruge miljøvariable til information, som man sjældent ville ændre, men som man heller ikke vil hardcode direkte i programmet. Et alternativ til dette kunne være en konfigurationsfil.