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。

相关内容