Ricerca…


Sintassi

  • $ ((ESPRESSIONE)): valuta l'espressione e restituisce il risultato.

  • expr EXPRESSION - Stampa il risultato di EXPRESSION su stdout.

Parametri

Parametro Dettagli
ESPRESSIONE Espressione da valutare

Osservazioni

È richiesto uno spazio ("") tra ogni termine (o segno) dell'espressione. "1 + 2" non funzionerà, ma "1 + 2" funzionerà.

Comando aritmetico

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

Hai bisogno di virgolette se ci sono spazi o personaggi globbing. Quindi quelli avranno errore:

   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

Possiamo usare (()) in if . Alcuni esempi:

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

L'output di (()) può essere assegnato a una variabile:

result=$((a + 1))

O usato direttamente in uscita:

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

Aritmetica semplice con (())

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

Uscita: 3

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

Uscita: 20

Aritmetica semplice con expr

#!/bin/bash
expr 1 + 2

Uscita: 3



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow