Bash: '완료' 표시 근처에서 예기치 않은 구문 오류가 발생했습니다. [중복]

Bash: '완료' 표시 근처에서 예기치 않은 구문 오류가 발생했습니다. [중복]

나는 이 스크립트를 썼다

#!/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

그런데 이런 메시지를 받았습니다.

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'

답변1

대본이 꽤 좋아 보이네요. Windows 시스템에서 이 파일을 편집/생성하고 *nix에 복사한 경우 "dos2unix"가 이 문제를 해결합니다.

dos2nix T.sh

"dos2unix"가 "명령을 찾을 수 없음" 메시지를 반환하는 경우 "dos2unix" rpm을 설치하십시오.

관련 정보