$ ls kjerne.ps kurs.aux kurs.dvi kurs.log kurs.ps kurs.tex kurs.toc latex.log program.ps rettigheter.ps skall.ps $ echo $? 0 $ cat eifil cat: eifil: No such file or directory $ echo $? 1 $ echo $? 0 $Som vi ser så gjekk ls-kommandoen utan feil, så prøvde vi å vise innholdet på ei fil som ikkje eksisterte, då vart returverdien sett til 1. Den siste gongen vi skreiv ut returverdien hadde den igjen vorte 0, dette var returverdien frå den forrige echo-kommandoen som fullførte utan feil. Eigentleg er ikkje $? ein miljø-variabel, men ein skall-variabel. Desse variablane er ikkje tilgjengeleg på same måten som ekte miljø-variable, dei blir oppdaterte av skallet og ikkje av kommandoar. Skall-variable har namn som bestå av eit tegn, dersom ein vil sjå verdien må ein sette ein $ framfor namnet. I tilleg til ? finst det ein del andre skall-variable som f.eks skigard-tegnet ( # ), som inneheld antal kommando-linje parametre til dette skallet, og $ som angjev prosess-identiteten til dette skallet. Desse variablane skal vi ikkje gå gjennom i denne omgang,- seinare vil vi sjå at desse har ein stor betydning for skall-programmering.