14

私はMinecraftサーバープラグインアップデーター用にこのコードを作成しています。私は新しいシェルスクリプターなので、よくわかりません...
このコードを実行するとエラーが発生します:

#!/bin/sh
export PATH=$PATH:.
#Options
PLUGINDOWNLOADLINK=http://api.bukget.org/3/plugins/bukkit/$PLUGINNAME/latest/download
# Plugin folder
if [ -f $PWD\plugins ]; then
PLUG=$PWD\plugins 
else
PLUG=$PWD\plug-ins
fi

cd $PLUG

if [ ! -f .\update ]; then
mkdir update
echo Making Directory "update"..
fi

# Plugins Found
    for i in $( ls );
    do
        PLUGINNAME=$i
    done
    cd .\update

    wget $PLUGINDOWNLOADLINK

    # No Plugins Found
    if [ ! -f $PLUG ]; then
    echo
echo
echo    No plugin found.
echo
echo
echo
echo   Plugins can be downloaded here:
echo   http://dev.bukkit.org/bukkit-plugins
fi

# stop 
sleep 3s
exit

次のエラーが表示されます。

Syntax error: end of file unexpected (expecting "then")

だから私はそれが私に望んでいた場所に「その後」を入れて、もう一度実行しました:
それは私にこのエラーを与えました:

Syntax error: end of file unexpected

Windows 7のメモ帳++で書きましたが、
どうすれば修正できますか?

4

3 に答える 3

22
  1. Unix のディレクトリ セパレータは、バックスラッシュではなくスラッシュです。
  2. Windows のエディタには、「Unix」ファイル形式でファイルを保存するオプションがありますか? シェルはthen^M、末尾にキャリッジ リターンがある単語を見ています。dos2unix がない場合は、次のコマンドを実行してみてください。sed -i 's/\r$//' filename
于 2013-08-09T23:47:14.077 に答える