switch(1)
On januari 9, 2022 by adminNamn
switch – utför ett block av kommandon på vissa villkor
Synopsis
switch VALUE; ; ; ; …] end
Beskrivning
Switch-anvisningen används för att utföra ett av flera block av kommandon beroende på om ett angivet värde är lika med ett av flera wildcardedvalues. Case-anvisningen används tillsammans med switch-anvisningen för att bestämma vilket block som ska utföras.
Varje case-kommando ges en eller flera parametrar. Det första case-kommandot med en parameter som matchar den sträng som anges i switchkommandot kommer att utvärderas. case-parametrar kan innehålla jokertecken. Dessa måste undvikas eller anges i citationstecken för att undvika att vanliga jokertecken expanderar med filnamn.
Bemärk att fish inte faller igenom på case-kommandon. Även om syntaxen kan se lite ut som C switch statements, beter den sig mer som case statements i traditionella shells.
Och notera att kommandosubstitutioner i ett case statement kommer att utvärderas även om dess kropp inte tas. Detta kan verka kontraintuitivt till en början, men det är oundvikligt, eftersom det skulle vara omöjligt att veta om ett case-kommando kommer att utvärderas till true innan alla former av parameterexpansion har utförts för case-kommandot.
Exempel
Om variabeln $animal innehåller namnet på ett djur skulle följande kod försöka klassificera det:
switch $animal case cat echo evil case wolf dog human moose dolphin whale echo mammal case duck goose albatross echo bird case shark trout stingray echo fish case '*' echo I have no idea what a $animal isend
Om ovanstående kod kördes med $animal inställd på whale, skulle utgången vara mammal.
Lämna ett svar