Enquanto o comando não foi encontrado e o erro de sintaxe está próximo do token inesperado [closed]

5

Estou tentando escrever um script de shell que recebe uma entrada de cadeia de caracteres de um usuário, solicita um nome de arquivo e relata se essa cadeia está presente no arquivo. Abaixo está meu script atual.

#!/bin/bash  
while :  
       do  
       echo "Please enter a string"  
       read input_string  
       echo "Please enter the file name to see if that string is present in it -  (Enter .abw after)"  
     read input_string1  
     grep -q "${input_string}" "${input_string1}"       
     if grep -q $input_string $input_string1 ; then  
         echo  "Your string has been found"    
     else   
         echo "Your string has not been found"  
      fi  
 done

quando executo o script, ele diz

Line 2: while:: command not found
Line 3: syntax error near unexpected token 'do'
Line 3: 'do'

Se alguém pudesse me apontar na direção certa, eu agradeceria muito.

    
por Swifty124 23.10.2014 / 12:43

1 resposta

5

Você realmente não precisa de ambas as linhas grep, ao invés disso você pode muito bem colocar:

if grep -q "$input_string" "$input_string1" ; then

echo "Your string has been found"

else

echo "Your string has not been found"

fi
    
por 23.10.2014 / 13:00