请蝙蝠翻译

时间:2013-10-28 01:24:44

标签: linux bash shell batch-file

好吧所以我用.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:错误的解释器:没有这样的文件或目录

有关我正在做错的任何见解?

1 个答案:

答案 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样式。