O terminal não chama 'then', relata um erro de sintaxe e o comando não foi encontrado [fechado]

0

Eu tenho o CentOS 7. Estou executando um script muito simples do BASH. Eu executei o comando chmod e, em seguida, executei o arquivo de script de um terminal. Recebi um erro dizendo "se o comando não foi encontrado" e se é um erro de sintaxe. Você pode por favor me ajudar a resolver isso?

#!/bin/bash
clear
echo "Enter a number:"
read number
if["$num" -eq 10]
then
echo "the number is 10"
elif["$num" -lt 10]
then
echo "that number is less then 10"
elif["$num" -gt 10]
then
echo "this is greater than 10"
else
echo "the number is between 10 and 20"
fi

OUTPUT:

Enter a number:
100
./arya.sh: line 6: if[ -eq 10]: command not found
./arya.sh: line 7: syntax error near unexpected token 'then'
./arya.sh: line 7: 'then'
    
por starter 23.06.2015 / 04:25

1 resposta

2

Você precisa colocar pelo menos um espaço entre [ / ] e qualquer coisa ao lado deles:

if [ "$num" -eq 10 ]

[ é, na verdade, um comando bash, um alias para o comando test que avalia suas expressões, e o% de fechamento] precisa ficar por conta própria para não ser avaliado como parte da expressão.

    
por 23.06.2015 / 04:36