Bash 脚本查找文件中的括号是否正确关闭

Aca*_*lar -3 bash shell brackets matching

我是个初学者,所以我有这个愚蠢的问题。假设我有一个括号.txt 文件,其中包含这样的字符串“(()))))(()()()()()()()()()()()”,我想要编写一个脚本来检查所有括号是否正确关闭,并且括号数量不是太多(打印“一切都正确”或类似的内容)。例如,在“))))((((”每个括号有匹配的,但它们没有正确关闭。我知道如何找到并计算它们,但检查部分确实困扰着我,我将非常感谢您的帮助!

cho*_*oba 5

继续删除,()直到无法删除为止。如果留下任何内容,则输入无效。

while [[ $string = *'()'* ]] ; do
    string=${string//()/}
done

if [[ $string ]] ; then
    echo Invalid
else
    echo Valid
fi
Run Code Online (Sandbox Code Playgroud)