sh vs bash : En oversigt
Hvis du læser dette, er der en god chance for, at du tidligere har stødt på udtrykkene shell, sh, bash osv. Disse udtryk kan lyde forvirrende, og da de er nært beslægtede, gør det problemet endnu værre. Derfor besluttede jeg at skrive dette indlæg med det formål at forsøge at forklare forskellene mellem dem.
Shell vs Kernel
Hvor vi går videre, er det vigtigt, at vi forstår, hvad begreberne shell og kernel betyder.
Kernel
Kernel er knudepunktet i operativsystemet. Den er ansvarlig for at gøre ting som at interagere med hardware, lave fil I/O og starte processer.
Shell
Shell’en fungerer som en grænseflade mellem brugeren og kernen. Teknisk set er en shell en kommandolinjefortolker, dvs. det program, der enten fortolker den kommando, du indtaster i din terminalemulator (interaktiv tilstand), eller som behandler shell-scripts (tekstfiler, der indeholder kommandoer).
Giver det mening?
Så bash er et programmeringssprog, der kan opfattes som en implementering af sh (selv om det har ændret sig med tiden).
For at opsummere, sh er en specifikation, bash er implementeringen.