1
這應該是非常簡單的,但我不確定它在抱怨什麼。將shell腳本從Solaris移植到Linux
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?或者,它是在抱怨別的嗎?
腳本是否有適當的shebang行?如果沒有,在開始幫助時是否添加'#!/ bin/sh'? (雖然你的語法不適合Bourne shell,但更明確地聲明它是'#!/ bin/bash'腳本的原因。) – tripleee
我從bash,sh,ksh提示符運行腳本,但我仍然得到相同的結果錯誤 – roymustang86
嘗試編寫「elif [$ PLATFORM =」AIX「]」(單個squeare方括號) – dimba