Citat:
Ursprungligen postat av BosseBorste
Följd fråga då, hur kan man kolla upp vad dessa följande uttalanden gör
#$MYSTR
̈$MYSTR ̈
’$MYSTR’
$(MYSTR)
$0
$?
Faktum är att alla står i bash-manualen, men den är en best och jag kan inte klandra dig för att du inte lästs igenom den (föredrar själv att göra mitt scriptande i andra skal).
Kort svar:
#$MYSTR - Gör ingenting alls, såvitt jag vet. # är ett kommentarstecken, så allt efter ignoreras
"$MYSTR" - (Jag förutsatte att du menade detta), behandla innehållet i $MYSTR som ett värde, då det annars skulle tolkats som flera ifall det innehöll mellanslag
'$MYSTR' - (Återigen, jag förutsätter att du menar dessa tecken); Evaluerar till strängen "$MYSTR", helt oförändrad, utan att ersätta med variabeln MYSTR
$(MYSTR) - exekvera kommandot MYSTR (verkligen kommandot som heter MYSTR, inte vad en eventuell variabel med samma namn pekar på), i ett subshell, och returnera utdatan (stdout) som en textsträng
$0 - filnamnet på nu exekverande script
$? - returkod från senast exekverade kommando
Jag rekommenderar dig att googla lite på "bash shell scripting tutorials" tutorials eller så. När du börjar gråta kan du istället googla på rc ;)