0

.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: No such file or directory

ファイルが保存されているディレクトリ内を移動してそこから実行しようとすると、次のように返されます: bash: ./booyaka.sh: /bin/sh^M: bad interpreter: No such file or directory

私が間違っていることについての洞察はありますか?

4

1 に答える 1

5

コメント

バッチ ファイルでは、コメントは を使用して示されますREM。Bash では、次のように示されます#

# This is a comment!

ループ

バッチ ファイルは、ラベルとGOTO. Bash には、より構造化されたループがあります。あなたの場合、おそらくwhileループが必要です:

while true; do
    # stuff
done

簡単なコマンド

バッチ ファイルでは、コマンドを記述するだけです。バッシュでも同じです。perlラインをそのままにしておくことができます。

行末

バッチ ファイルでは、DOS 行末 ( CRLF) が使用されます。私の知る限り、Bash はあまり気にしませんが、最初の行 (Bash へのコメント) については、オペレーティング システムが気にします。最初の行は UNIX スタイルでLFと noで終了する必要がありますCR

于 2013-10-28T01:28:12.533 に答える