语法错误:if语句bash文件中的意外文件结尾

时间:2018-02-15 19:19:26

标签: bash

源代码:

#!/bin/bash
echo "Parametro is $1"
if [ $1 -gt 9 ]
    then
    echo "entre al if";
fi
echo"Fin del script";

我的bash文件具有执行权限:

 -rwxrwxr-x 1 mzadmin mzadmin 108 Feb 15 13:07 test.sh

我运行我的bash文件,如:

bash test.sh 9

输出是:

Parametro is 9
test.sh: line 8: syntax error: unexpected end of file.

3 个答案:

答案 0 :(得分:2)

echo命令后需要一个空格:echo"Fin del script";

所以:

echo "Fin del script"

下次,在请求人工帮助之前,请在http://www.shellcheck.net/上在线传递您的脚本(即使未检测到此特定错误,因为shell认为echo"Fin del script";是未知命令...)< / p>

修改

如果您没有输出,那是因为您在测试中使用-gt更高),而您需要-ge 更大或相等< / em>的

更好地使用bash arithmetic这样,它更具可读性且不易出错:

if ((arg >= 9)); then

答案 1 :(得分:0)

您需要在脚本的末尾添加换行符,因为如果找不到换行符,有时候某些内容无法正常工作。见Why should text files end with a newline?

答案 2 :(得分:0)

我解决了这个错误,输出也一样。请帮帮我!!

新的源代码。

!/斌/庆典

echo "Parametro is $1"
if [ $1 -gt 9 ]
    then
    echo "entre al if";
fi
echo "Fin del script";

new output

udated code