Bash: erro de sintaxe próximo ao token inesperado 'done'

2

Eu escrevi este script

#!/bin/bash

if [ $# -ne 2 ] ;

 then

echo "\n      Usage : sh $0 BSSID interface   \n"

exit 0;
fi
while true;

 do

reaver -b $1 -i $2 -vv -N -g 10 -S -a

sleep 3603;

done

mas recebi esta mensagem:

bash T.sh
T.sh :line 2: $'\r':command not found
T.sh :line 10: $'\r':command not found
T.sh :line 27: syntax error near unexpected token 'done'
T.sh: line 27: 'done'
    
por Educ 25.09.2014 / 10:33

1 resposta

5

O script parece bem. Se você tivesse editado / criado isso em uma máquina windows e copiado para * nix, um 'dos2unix' corrigirá isso.

dos2nix T.sh

Instale o rpm 'dos2unix' se 'dos2unix' retornar uma mensagem 'comando não encontrado'.

    
por 25.09.2014 / 10:42