源代码:
#!/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.
答案 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";