Skalet sh

Översikt, 4: Substitution och citering

Steget att ersätta variabler med deras värden kallas inom sh för substitution. Förutom substitution av variabler finns det andra varianter av substitution, framförallt "backquote"-substitution,

`kommando`
där ett kommando inom "backvända citationstecken" ersätts med sin utmatning. Ett exempel på vad man kan använda detta till är i samband med kommandot "line", som läser en rad inmatning från standard input och skriver ut igen:
     RADEN=`line`
Ovanstående kommando läser in en rad från tangentbordet till variabeln RADEN.

Citering

Med tanke på att flera tecken -- till exempel <, > och mellanslag -- har speciella funktioner, så behöver man ett sätt att tala om för skalet att man ibland vill använda även sådana tecken som vanliga tecken, utan specialbetydelse. För enstaka tecken använder man det omvända snedstrecket, \, för att tala om att nästa tecken ska tolkas som ett vanligt tecken, men vill man ha flera specialtecken blir det fort tröttsamt att skriva ett \-tecken före varje gång. Då kan man istället använda citationstecken. Det finns två varianter, varav den ena är dubbelt citationstecken

"vadsomhelst"
som i princip bara avlägsnar specialbetydelsen hos mellanslag (vilket är användbart när man vill ha mellanslag inne i ett argument - annars skulle skalet tolka det som två argument). Den andra varianten är enkelt citationstecken
'vadsomhelst'
som avlägsnar specialbetydelsen hos alla tecken utom \ och '.