Zoeken…


Syntaxis

  • $ ((EXPRESSION)) - Evalueert expressie en retourneert het resultaat.

  • expr EXPRESSION - Drukt het resultaat van EXPRESSION af naar stdout.

parameters

Parameter Details
UITDRUKKING Uitdrukking om te evalueren

Opmerkingen

Een spatie ("") is vereist tussen elke term (of teken) van de uitdrukking. "1 + 2" zal niet werken, maar "1 + 2" zal werken.

Rekenkundig commando

  • let
    let num=1+2
    let num="1+2"
    let 'num= 1 + 2'
    let num=1 num+=2 

U hebt aanhalingstekens nodig als er spaties of globale tekens zijn. Dus die krijgen een foutmelding:

   let num = 1 + 2    #wrong
   let 'num = 1 + 2'  #right
   let a[1] = 1 + 1   #wrong
   let 'a[1] = 1 + 1' #right
  • (( ))
  ((a=$a+1))     #add 1 to a
  ((a = a + 1))  #like above
  ((a += 1))     #like above

We kunnen (()) in if . Enkele voorbeelden:

if (( a > 1 )); then echo "a is greater than 1"; fi 

De uitvoer van (()) kan worden toegewezen aan een variabele:

result=$((a + 1))

Of direct gebruikt in de output:

echo "The result of a + 1 is $((a + 1))"

Eenvoudig rekenen met (())

#!/bin/bash
echo $(( 1 + 2 ))

Uitgang: 3

# Using variables
#!/bin/bash
var1=4
var2=5
((output=$var1 * $var2))
printf "%d\n" "$output"

Uitgang: 20

Eenvoudig rekenen met expr

#!/bin/bash
expr 1 + 2

Uitgang: 3



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow