EOL 错误(查找匹配的“)”时意外的 EOF)



如果我从此错误启动脚本:

./Sinusbot.sh: line 276: unexpected EOF while looking for matching `)'
./Sinusbot.sh: line 305: syntax error: unexpected end of file

受影响的脚本的一部分:

echo -e "$info Configuring instances"
if [ "$ydl" = "y" ] || [ "$ydl" = "Y" ]; then
    c2="0"
    while [ $c2 = $nbot ]
    do
        c2=$((c2+1)                     #Line 276
        bport=$((bport+1)
        cd
        cd Sinus-$2
        cat > config.ini << EOL
        ListenPort = ${bport}
        ListenHost = "0.0.0.0"
        TS3Path = "TeamSpeak3-Client-linux_amd64/ts3client_linux_amd64"
        YoutubeDLPath = "youtube-dl"
        DataDir = "data/"
        EOL
    done
else
    while [ $c2 = $nbot ]
    do
        c2=$((c2+1)
        bport=$((bport+1)
        cd
        cd Sinus-$2
        cat > config.ini << EOL
        ListenPort = ${bport}
        ListenHost = "0.0.0.0"
        TS3Path = "TeamSpeak3-Client-linux_amd64/ts3client_linux_amd64"
        DataDir = "data/"
        EOL
    done
fi
                                   #line 305

为什么会发生这种情况,我该如何解决?

除了记事本++之外,所有行都显示为蓝色,因为我输入了"cat"配置.ini <<EOL"怎么来了?我怎样才能取下它?

图像记事本++

这些行有 2 个起始括号,但只有一个结束括号:

    c2=$((c2+1)
    bport=$((bport+1)

考虑到程序的缩进,您可能希望通过在每行顶部添加右括号来关闭它们:

    c2=$((c2+1))
    bport=$((bport+1))

算术展开 - $(())
右未遗漏的括号

最新更新