好吧所以我用.sh和.bat脚本不是很好,但我需要将.bat文件翻译成.sh,并希望我能在这里得到一些帮助。
文件名是booyaka.sh
#!/bin/sh
:START
REM what to put below:
REM perl m2auto.pl user pass wait chartype "Lord Stealer"
REM wait = 0.0 for most
REM chartype: 1 = agimage, 2 = fighter, 3 = mage, 4 = Pure Fighter
REM stealer must have full name
perl m3.pl user password 0.0 1 "Stealer"
perl -e sleep(2)
goto START
这是我的脚本当前的样子,但出于某种原因,当我在终端尝试./booyaka.sh时,它会返回以下内容:bash:./ booyaka.sh:没有这样的文件或目录
如果我在存储文件的目录中导航并尝试从那里执行,则返回:bash:./ booyaka.sh:/ bin / sh ^ M:错误的解释器:没有这样的文件或目录
有关我正在做错的任何见解?
答案 0 :(得分:5)
在批处理文件中,使用REM
表示注释。在Bash中,它们标有#
:
# This is a comment!
您的批处理文件使用标签和GOTO
实现循环。 Bash有更多结构化循环。在您的情况下,您可能需要while
循环:
while true; do
# stuff
done
在批处理文件中,您只需编写命令即可。在Bash中也是如此。您可以保持perl
行不受影响。
批处理文件使用DOS行结尾(CRLF
)。据我所知,Bash并不在乎,但对于第一行(对Bash的评论),操作系统确实如此。您的第一行必须使用LF
而不是CR
来终止UNIX样式。