switch(1)
On januar 9, 2022 by adminNavn
switch – udfører betinget en blok af kommandoer
Synopsis
switch VALUE; ; ; ; …] end
Beskrivelse
Switch-anvisningen bruges til at udføre en af flere blokke af kommandoer afhængigt af, om en angivet værdi er lig med en af flere wildcardedeværdier. Case-erklæringen bruges sammen med switch-erklæringen til at bestemme, hvilken blok der skal udføres.
Hver case-kommando får en eller flere parametre. Den første case-kommando med en parameter, der svarer til den streng, der er angivet i switchkommandoen, vil blive evalueret. case-parametre kan indeholde jokertegn. Disse skal escapes eller anføres i citationstegn for at undgå regelmæssig udvidelse af jokertegn ved hjælp af filnavne.
Bemærk, at fish ikke falder igennem på case-anvisninger. Selvom syntaksen kan ligne C switch statements, opfører den sig mere som case statements i traditionelle shells.
Og bemærk også, at kommandosubstitutioner i en case statement vil blive evalueret, selv om dens krop ikke er taget. Dette kan umiddelbart virke kontraintuitivt, men det er uundgåeligt, da det ville være umuligt at vide, om en case-kommando vil blive evalueret til true, før alle former for parameterudvidelse er blevet udført for case-kommandoen.
Eksempel
Hvis variablen $animal indeholder navnet på et dyr, ville følgende kode forsøge at klassificere 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
Hvis ovenstående kode blev kørt med $animal sat til hval, ville resultatet være pattedyr.
Skriv et svar