在Cygwin上执行Bash文件时出错

时间:2016-02-02 16:33:35

标签: bash shell cygwin

在相对较新的bash脚本中,当在cygwin shell上运行我的脚本文件时,我有一些错误让我觉得有一些关于cygwin的东西我不知道了。我已经阅读了几个教程,并从其中一个复制了一个脚本(试图理解我的错误)应该没问题,但我得到以下错误(与我的脚本相同):

': no es un identificador válido

./pruebas.sh: línea 17: error sintáctico cerca del elemento inesperado `fi'

./pruebas.sh: línea 17: `fi'

翻译成英文我认为错误应该是:

': is not a valid identifier

./pruebas.sh: line 17: sintax error near unexpected element `fi'

./pruebas.sh: line 17: `fi'

剧本:

#!/bin/bash
#Test IF-ELSE

echo ' Adivina el valor numerico de la variable'
read A
if [ $A = 1 ];
then
echo 'Has acertado'
exit 0
else
if [ $A = 2 ];
then
echo 'Estuviste cerca'
fi
else
echo 'Erraste'
fi

有什么问题的想法?在此先感谢您的努力。

1 个答案:

答案 0 :(得分:2)

if的结构如下:

if condition_1; then 
    action_1
elif condition_2; then
    action_2
else
    action_3
fi

考虑到这一点,我会将您的代码更改为:

echo ' Adivina el valor numerico de la variable'
read a
if [ "$a" = 1 ]; then
    echo 'Has acertado'
    exit 0
elif [ "$a" = 2 ]; then
    echo 'Estuviste cerca'
else
    echo 'Erraste'
fi