Command Substitution: Can you return data instead of exit codes in Bash? | #3 Practical Bash
Inhoudsopgave:
Een van de meest voorkomende rekenkundige bewerkingen bij het schrijven van Bash-scripts is oplopende en afnemende variabelen. Dit wordt meestal in lussen als teller gebruikt, maar het kan ook elders in het script voorkomen.
Verhogen en verlagen betekent een waarde (meestal
1
) optellen of aftrekken van de waarde van een numerieke variabele. De rekenkundige uitbreiding kan worden uitgevoerd met behulp van dubbele haakjes
((…))
en
$((…))
of met de opdracht
let
builtin.
In Bash zijn er meerdere manieren om een variabele te verhogen / verlagen. In dit artikel worden enkele ervan uitgelegd.
Gebruik van
+
en
-
operators
De eenvoudigste manier om een variabele te verhogen / verlagen is met de operatoren
+
en
-
.
i=$((i+1)) ((i=i+1)) let "i=i+1"
i=$((i-1)) ((i=i-1)) let "i=i-1"
Met deze methode kunt u de variabele met elke gewenste waarde verhogen / verlagen.
Hier is een voorbeeld van het ophogen van een variabele binnen een
until
lus:
i=0 until do echo i: $i ((i=i+1)) done
De operatoren
+=
en
-=
Naast de basisoperatoren die hierboven zijn uitgelegd, biedt bash ook de toewijzingsoperatoren
+=
en
-=
. Deze operatoren worden gebruikt om de waarde van de linkeroperand te verhogen / verlagen met de waarde die achter de operator is opgegeven.
((i+=1)) let "i+=1"
((i-=1)) let "i-=1"
In de volgende
while
lus verlagen we de waarde van de
i
variabele met
5
.
i=20 while do echo Number: $i let "i-=5" done
Number: 20 Number: 15 Number: 10 Number: 5
Gebruik van de operatoren
++
en
--
De operatoren
++
en
--
verhogen respectievelijk de operand met
1
en geven de waarde terug.
((i++)) ((++i)) let "i++" let "++i"
((i--)) ((--i)) let "i--" let "--i"
De operatoren kunnen vóór of na de operand worden gebruikt. Ze staan ook bekend als:
- voorvoegsel toename:
++i
voorvoegsel afname:--i
postfix toename:i++
postfix afname:i--
De prefixoperatoren verhogen / verlagen de operatoren eerst met
1
en retourneren vervolgens de nieuwe waarde van de operatoren. Aan de andere kant retourneren de postfix-operatoren de waarde van de operatoren voordat deze is verhoogd / verlaagd.
De volgende voorbeelden laten zien hoe de
++
-operator werkt wanneer deze voor en na de operant wordt gebruikt:
x=5 y=$((x++)) echo x: $x echo y: $y
x: 6 y: 5
x=5 y=$((++x)) echo x: $x echo y: $y
x: 6 y: 6
Hieronder ziet u een voorbeeld van het gebruik van de postfix-incrementor in een bash-script:
#!/bin/bash i=0 while true; do if]; then exit 1 fi echo i: $i ((i++)) done
Het nadeel van het gebruik van deze operatoren is dat de variabele alleen met
1
kan worden verhoogd of verlaagd.
Conclusie
Toenemende en afnemende variabelen in Bash kunnen op veel verschillende manieren worden uitgevoerd. Welke methode u ook gebruikt, het resultaat is hetzelfde.
Als u vragen of feedback heeft, kunt u een reactie achterlaten.
bash lus terminalAantal app-tegelrijen wijzigen, verhogen of verlagen in Windows 8 Startscherm
Meer informatie over het verhogen, verlagen of wijzigen van het aantal van rijen met app-tiles op uw startscherm van Windows 8.
Hoe de snelheid van Google Chrome te verhogen
Google Chrome kan soms traag worden vanwege een aantal factoren en hier is hoe u ervoor kunt zorgen dat uw browser snel wordt uitgevoerd.
Vermijd wakker worden buren, automatisch verlagen of volume verhogen
Gebruik Volume Concierge om het computervolume automatisch te verlagen of te verhogen en om te voorkomen dat buren wakker worden.