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をインストールしてください。

関連情報