Script de adição do Unix

0

Atualmente estou tentando fazer um comando de adição no unix e criei o seguinte código:

#! /bin/bash
#! Add - adds two given numbers together and displays the result

"$num1" = $1
"$num2" = $2

echo "Enter two numbers"
        read num1 num2
        sum=$(“$num1” + “$num2”)
                echo "The sum is = $sum"

Isso, no entanto, não funciona.

    
por S.Jones 25.11.2015 / 20:35

2 respostas

2

((...)) é a maneira de fazer aritmética, não de parênteses únicos, e você não precisa de citações aqui Tente:

sum=$((num1+num2))
    
por 25.11.2015 / 20:44
0

Ignorando os erros de sintaxe no script, parece que os dois números são dados , ou seja, eles estão presentes na linha de comando do script.

Isso significa que o script pode ser reduzido a

#!/bin/sh

printf 'The sum of %d and %d is %d\n' "$1" "$2" "$(( $1 + $2 ))"

Isto obviamente não faz verificação dos argumentos passados. Por exemplo, ele não verifica se há exatamente dois argumentos e também não verifica se são números inteiros decimais.

O script seria usado como

$ ./script.sh -23 32
The sum of -23 and 32 is 9
    
por 17.11.2018 / 21:54