シェルスクリプトスニペットを以下に示します
if [[ $OS == Linux ]] ; then
LINUX_FC=gfortran
#
# set 32 or 64 Bits executable
#
Arch=`uname -m`
echo "PROCESSOR IS: $Arch"
if [ [ $Arch == x86_64 ] ] ; then
BITS=SIXTYFOUR;
else
BITS=THIRTYTWO;
fi
Elif [[ $OS == Darwin ]] ; then
DARWIN_FC=gfortran;
else
BITS=THIRTYTWO;
fi;
エラーは
OPERATING SYSTEM IS: Linux
: command not found
jobcomp1: line 34: syntax error near unexpected token `Elif'
'obcomp1: line 34: `Elif [ [ $OS == Darwin ] ] ; then
シェルは、角かっこの間の空白を本当に嫌います:
if [ [ $Arch == x86_64 ] ] ; then
それはのようなものを期待しています
if [[ $Arch == x86_64 ]] ; then
または(より良い)
if [ $Arch = x86_64 ] ; then
(スクリプトをbash固有にすることには意味がないため、==
も=
になります)。