Kommandotolk (engelska: Command line interface (CLI)) är en typ av skalprogram, ett gränssnitt där en dators användare kan skriva in kommandon. Det program som används som kommandotolk kan oftast även användas för att köra enkla program, så kallade skript.

Kommandotolken Tcsh finns till de flesta system, bland annat FreeBSD och Linux

Vid ett kommandoskal finns ofta en så kallad prompt. Prompten är ett ensamt tecken, eller en följd av tecken, i början av raden som visar att datorn är redo att ta emot ett nytt kommando.

Utseendet på prompten kan ställas in efter behov och önskemål. En vanlig inställning är att prompten visar vilken katalog man befinner sig i.

Ett skal kan också ha inbyggda kommandon som bara kan nås från just det skalet. Man kan även skapa egna kommandon eller variabler som gäller enbart i det aktuella skalet.

I de flesta skal är rör (pipes) av central betydelse. Ett rör används för att sammankoppla två eller flera program så att utdata från ett program blir indata till nästa. På detta sätt kan många små, enkla program sammankopplas till att lösa komplicerade problem.

Några exempel

redigera

I Unix finns flera olika kommandotolkar. Några av de vanligaste är:

  • sh, Bourne shell är det äldsta skalet. Det är standard i UNIX System V och används fortfarande av många när de skriver skript. "sh" (eller, med sökstig: "/bin/sh") kan syfta också på ett annat skal avsett att kunna användas för tolkning av dessa skript.
  • bash, Bourne again shell är, som namnet antyder, en förbättring av sh. Det är standard i GNU/Linux, och på senare tid även MacOS X.
  • csh Sea-shell (Berkeley UNIX C shell). Det är standard i BSD och använder en syntax liknande den i programmeringsspråket C.
  • tcsh Tea-Sea shell, är standard i SunOS/Solaris och FreeBSD. Det är en något utökad variant av csh. Bland annat så har tcsh tabulatorexpansion och mer avancerad kommandohistorik.
  • ksh, Korn shell är en kommandotolk som siktar på att implementera POSIX Shell Language Standard. Det utvecklades av AT&T som ett svar på csh.
  • zsh, Z shell har lånat många funktioner från bash, ksh och tcsh men har även en del egna funktioner. zsh är ett relativt nytt skal som utvecklats under 1990-talet fram till idag.

DOS och Windows

redigera

I MS-DOS medföljer kommandotolken command.com. Kommandotolken i Microsoft Windows, ofta kallad ”DOS-fönstret”, är i stort sett samma skal som i DOS, med bland annat den historikhantering som tidigare låg i doskey.exe inbyggd. I senare versioner av Windows kan användaren även ställa in så att tabulatorexpansion slås på, antingen själv i registret eller via TweakUI.

Ett skript i DOS kallas ofta för bat-fil eftersom filnamnen har filändelsen .bat. ”Bat” står för ”batch file”. Även i Windows är bat-filer körbara, men den korrekta filändelsen för skript för Windows och OS/2 är .cmd.

Dessutom kan man köra Unix-verktyg, däribland bash, på Windows, till exempel med paketet Cygwin.

AmigaOS

redigera

Kommandotolken i AmigaOS "CLI", som används i AmigaDOS-miljön, hanteras användargränssnittet huvudsakligen av en så kallad konsolhanterare CON handler. Standardkonsolen har sedan OS version 1.3 haft grundläggande funktioner såsom kommandohistorik. Programvara skriven av andra än systemleverantören som används som ersättningskonsol är dock populära.

Den vanligast förekommande är KingCON, som erbjuder förbättrad kommandohistorik, avancerade markörstyrningskommandon för att hoppa mellan argument och led i sökvägar. Den största förbättringen är tabulatorexpansionen, som i KingCON även har grafiska element. Om flera expansionsalternativ finns, återges dessa i ett eget fönster eller i en filväljare som kan styras med endera mus eller tangentbord.

VincED, som är KingCONs största konkurrent och som medföljer från och med AmigaOS 3.5, erbjuder i stort sett samma funktioner men är i grund och botten en hel texteditor med många funktioner för särskilt avancerade användare.

Från och med AmigaOS 4 är standardkonsolen uppdaterad med de flesta moderna funktioner som grafisk tabexpansion och markörstyrning.

Den som vill kan också installera ett Unix-skal som bash eller csh.