colly.sh: line 3: $’\r’: command not foundcolly.sh: line 6: $’\r’: command not foundcolly.sh: line 10: $’\r’: command not foundcolly.sh: line 12: syntax error near unexpected token $'{\r” ‘olly.sh: line 12:cleanup() {

这个问题是因为脚本文件包含了 Windows 的换行符(CRLF,即 \r\n),而 Linux/Bash 系统只识别 Unix 的换行符(LF,即 \n)。\r字符在 Bash 中被视为普通字符,导致语法错误。

问题原因

可能在 Windows 上创建了脚本文件,或者用 Windows 编辑器编辑了脚本,导致行尾是 \r\n而不是 \n

解决方案

使用 dos2unix工具(最简单)

# 安装 dos2unix(如果未安装)
sudo apt-get install dos2unix    # Ubuntu/Debian
# 或
brew install dos2unix           # macOS
# 或
yum install dos2unix            # CentOS/RHEL

# 转换脚本格式
dos2unix colly.sh

# 然后重新运行
chmod +x colly.sh
./colly.sh

Comments

No comments yet. Why don’t you start the discussion?

发表回复