在相对较新的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
有什么问题的想法?在此先感谢您的努力。
答案 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