Bash 意外标记“done';
这个文件是用bash编写的。当我运行它时,会出现以下错误:Bash 意外标记“done';,bash,syntax,Bash,Syntax,这个文件是用bash编写的。当我运行它时,会出现以下错误: ./q: line 7: syntax error near unexpected token `done' ./q: line 7: `done '**strong text** 代码是: nohup echo ELMAYET > /dev/null 2> /dev/null && if curl -m5 -s --insecure "$1/test/final" | grep "phpshell" &
./q: line 7: syntax error near unexpected token `done'
./q: line 7: `done '**strong text**
代码是:
nohup echo ELMAYET > /dev/null 2> /dev/null &&
if curl -m5 -s --insecure "$1/test/final" | grep "phpshell" > /dev/null;
then
echo "$1/test/final.php" | tee -a final.txt;
fi &
done
假设脚本中没有其他重要内容,只需删除
done
done
是一个shell关键字。它仅用于标记while
、for
或直到
循环的结束。如果它没有标记循环的结束,那就是语法错误
出于好奇,您认为
done
是为了什么,为什么要将其添加到脚本中?如果您假设需要一个done
来标记脚本的结尾,那就是您的错误。脚本的结尾不需要以任何特殊方式标记;这只是文件的结尾。那是什么done
在那里做什么?它属于什么语句?其他20行呢?这不是MCVE,但我猜你需要在完成之前删除该&
,而该行不起作用。你从哪里获得代码?我刚刚在谷歌上搜索了“nohup echo ELMAYET”,只发现你在问这个问题。好吧,这很好,但我认为代码必须在final.txt文件中给我一个结果,但删除后没有结果done@MohammedNagy:如果没有更多的信息,就说不出来。只有当curl…|grep…
命令成功。如果至少不知道$1
的值,就无法猜测它是否会成功或失败,或者为什么会成功或失败。(顺便说一句,我不知道第一行是什么意思…
)好的,我会在你的电子邮件上给你发邮件,给你更多信息information@MohammedNagy:请不要。把它贴在这里,这样每个人都能受益。@MohammedNagy:那么你可能不应该和我分享它。我很高兴在这个网站上提供帮助,这样每个人都能从中受益——我已经回答了你的问题。如果你想要私人支持,我必须考虑收费多少(很可能超过我的价值)。如果你想在这个网站上得到帮助,你需要回答评论中的问题;例如,你说你的代码“来自谷歌”(这似乎与你声称的它是私有的,除非它是谷歌内部代码的说法不一致),但你没有说它来自哪里。