linha 4: 5 +: erro de sintaxe: operando esperado (token de erro é “+”)

1

notando o erro mencionado na linha de assunto ao tentar executar o script bash listado abaixo no Ubuntu (53-Ubuntu x86_64 x86_64 x86_64 GNU / Linux)

#!/bin/bash

read x y
echo $(($x + $y))

No entanto, o mesmo funciona perfeitamente no Redhat e no CentOS.

Por favor me ajude a descobrir porque isso está acontecendo, todos os sistemas operacionais têm a versão 4.3.11 (1) -release

    
por snoopy 30.10.2014 / 12:34

1 resposta

1

Ocorre erro porque você fornece apenas um número de entrada, não dois. Nesse caso, read atribui esse número à variável x , mas y permanecerá vazio, portanto, a próxima linha será semelhante a echo $(($x + )) . Como sabemos que o operador + usa dois operandos, mas aqui está faltando y (o segundo), portanto, o erro operand expected (error token is “+ ”) .

    
por 30.10.2014 / 12:56

Tags