0

次のスクリプトの何が問題なのかわかりません。

#!/bin/bash 
if [ "$1" = "x" ] 
then
  echo Pushing web on sharada to origin.
else if [ "$1" = "y" ] 
then 
  echo Pulling web on sharada from origin.
else 
  echo "Usage : arg x to push or y to pull."
fi

私はLinux(Ubuntu)を使用していxtermます。

4

4 に答える 4

3

最後に「fi」を閉じていません。構造はelse if実際にはelif継続ではありませんが、代わりに新しいものは前ifelse節の中にありifます。

したがって、適切にフォーマットされている必要があります。

#!/bin/bash 
if [ "$1" = "x" ] 
then
  echo Pushing web on sharada to origin.
else 
  if [ "$1" = "y" ] 
  then 
    echo Pulling web on sharada from origin.
  else 
    echo "Usage : arg x to push or y to pull."
  fi
fi # <-- this closes the first "if"
于 2012-12-11T17:46:42.883 に答える
2

以下に示すようにelif、 ではなくである必要があります。else if

if [ "$1" = "x" ] 
then
  echo Pushing web on sharada to origin.
elif [ "$1" = "y" ] 
then 
  echo Pulling web on sharada from origin.
else 
  echo "Usage : arg x to push or y to pull."
fi
于 2012-12-11T17:47:17.533 に答える
1

が 2 つifあるため、 が 2 つ必要ですfi

于 2012-12-11T17:46:44.773 に答える