我正在尝试编译此代码但是我收到以下错误:
Q2.sh: line 18: syntax error near unexpected token `fi'
Q2.sh: line 18: `fi'
在第15行,我正在尝试验证参数numero
是否大于0.感谢任何帮助
由于
#!bin/bash
numero=$1
if test $# -eq 0; then
echo "Argument Manquants"
exit 1
fi
if ! [[ "$numero" =~ ^[0-9]+$ ]] ; then
exec >&2; echo "Le parametre doit etre un digit";
exit 1
fi
if [ $numero -le 0 ]
$$ echo "Le parametre doit etre plus grand que 0"
exit 1
fi
cat /etc/passwd grep "$numero"
答案 0 :(得分:4)
您忘记了; then
条款中的if
部分:
if [ "$numero" -le 0 ]; then
...
fi
答案 1 :(得分:1)
看起来您错过了then
末尾的if
声明,而您只使用了单方括号。尝试替换该块:
if [[ $numero -le 0 ]]; then
echo "Le parametre doit etre plus grand que 0"
exit 1
fi
答案 2 :(得分:0)
当我将在Windows上编辑的脚本复制到unix系统时,我遇到了类似的问题。在首次亮相时,我得到了同样的错误。
当我在目标m / c的编辑器中编辑文件一次时,脚本运行没有问题。
对我而言似乎是字符编码问题。但我仍然在寻找解决方案来克服它。
可能有点帮助。