operação aritmética com expr

2

Estou fazendo uma operação add como

#!/bin/sh
a=10
b=20
c='expr $a + $b'
echo "$c"
echo "$a"
echo "$b"

mas está mostrando a saída como

expr $a + $b
10
20

o que está errado com expr

    
por user183924 10.08.2016 / 01:50

1 resposta

7

Seu exemplo usa o tipo errado de aspas:

a=10 b=20 c='expr $a + $b' echo "$c" echo "$a" echo "$b"

que deve ser (como um começo):

a=10
b=20
c='expr $a + $b'
echo "$c"
echo "$a"
echo "$b"

mas mais legível:

a=10
b=20
c=$(expr $a + $b)
echo "$c"
echo "$a"
echo "$b"

Se você quiser colocar todas essas instruções em uma única linha, separe-as por ponto e vírgula:

a=10; b=20; c=$(expr $a + $b); echo "$c"; echo "$a"; echo "$b"
    
por 10.08.2016 / 01:54