1

这应该很简单,但我不确定它在抱怨什么。

type=${1-"-Debug"};
version=${2-"-0"};
echo "We are going to be building eValuate in build mode: " $type
if [[ $version = -1 ]]
  then
  echo "We are going to be building eValuate with omniORB-4.1.4"
  else
  echo "We are going to be building eValuate with omniORB-4.0.4"
fi
if [ $PLATFORM = "HPUX" ]
then
    if [ $type = -release ]
    then
      export MAKEFILE_MAIN=$PWD/common/makefile/makefile.hp
      export MAKEFILE_DEFS=$PWD/common/makefile/makefile.hp.rls
      shift
    else
      export MAKEFILE_MAIN=$PWD/common/makefile/makefile.hp
      export MAKEFILE_DEFS=$MAKEFILE_MAIN
    fi

    elif [ $PLATFORM = "AIX" ]
    then
       mv $PWD/Calculations/CalculationSTD/makefileAIX $PWD/Calculations/CalculationSTD/makefile
       mv $PWD/Calculations/CalculationSTD/StandardCalculationAIX.cpp     $PWD/Calculations/CalculationSTD/StandardCalculation.cpp
       rm -r $PWD/Calculations/CalculationSTD/Carleton
       if [ $type = -release ]
       then
         export MAKEFILE_MAIN=$PWD/common/makefile/makefile.aix
         export MAKEFILE_DEFS=$PWD/common/makefile/makefile.aix.rls
         shift
      else
     export MAKEFILE_MAIN=$PWD/common/makefile/makefile.aix
     export MAKEFILE_DEFS=$MAKEFILE_MAIN
      fi
  fi

这似乎在 Solaris 和 AIX 上运行良好,但在 Linux 上,我收到以下错误消息:

   : command not found 1:
   : command not found 2:
   We are going to be building eValuate in build mode:  -release
   ./setpath.sh1: line 22: syntax error near unexpected token `elif'
   '/setpath.sh1: line 22: `       elif [ $PLATFORM = "AIX" ]

为什么不喜欢elif?或者,它是在抱怨别的什么吗?

4

1 回答 1

1

终于得到了答案,这要归功于完全随机的东西,与格式有关:

我已经从我的 Windows 机器上传输了文件,我猜 Linux 只是一个无法处理它的婊子。Solaris 和 AIX 做得很好。

使用了这个命令。dos2unix *.sh

于 2012-09-10T21:18:27.060 回答