0

.sh を書き込もうとしていますが、エラーが発生します:
これは minecraftserver アップデーターです (参考までに)

コード:

#!/bin/sh

# Deleting Old Files
if [ -e spigot1.jar]; then
  rm spigot1.jar

fi

# Renaming
if [ -e spigot.jar]; then
  echo Renaming File...
  mv spigot.jar spigot1.jar
  echo Done.
  echo
  else
  echo

fi

# Downloading
echo Downloading File...
wget http://ci.md-5.net/job/Spigot/lastBuild/artifact/Spigot-Server/target/spigot.jar
echo Done.

# Comparing Files
echo
echo Testing if the files are the same... 
if diff -a -w spigot.jar spigot1.jar >/dev/null ; then
  echo Done.
  echo
  echo -----------------------------------
  echo
  echo You already have the newest version!  
  echo
  echo -----------------------------------
else
  echo Done.
  echo
  echo -----------------------------------
  echo
  echo Updated to a newer version! 
  echo
  echo -----------------------------------

fi

if [ -e spigot1.jar]; then
  rm spigot1.jar

fi

sleep 10s

しかし、次のようなエラー メッセージが表示されます。

test.sh: 4: [: missing ]
test.sh: 12: [: missing ]

これを修正する方法はありますか?これが治るまで先に進めません!前もって感謝し
ます - ダーパサウルス

4

2 に答える 2

6

スペースが必要です

if [ -e spigot1.jar ]; then

それ以外の

if [ -e spigot1.jar]; then
于 2013-08-05T20:53:45.217 に答える
0

上記がまさにあなたが持っていたものである場合、問題は と の間にスペースがないことspigot.jarです]

上記のコメントに応えて、この時点でのコードは何ですか。上記の変更により、スクリプトは正常に動作しています。

于 2013-08-05T21:01:25.450 に答える