当前位置: 技术问答>linux和unix
一个简单的shell脚本,大家帮我看看哪里出错了,谢谢
来源: 互联网 发布时间:2016-07-19
本文导语: code=Delphi(Pascal)] #!/bin/sh func() { min=20 max=80 echo "Function start>>>>>>" if [ "$line" -le "$max" ] && [ "$line" -ge "$min" ]; then echo "yes" return "0" else echo "wrong" return "1" fi } read line func echo $? [/code] 运行提示出错 [:...
code=Delphi(Pascal)]
#!/bin/sh
func()
{
min=20
max=80
echo "Function start>>>>>>"
if [ "$line" -le "$max" ] && [ "$line" -ge "$min" ]; then
echo "yes"
return "0"
else
echo "wrong"
return "1"
fi
}
read line
func
echo $?
[/code]
运行提示出错 [: 17: Illegal number:
也就是不合法的值,现在知道错误肯定是 if 那一行,就是不知道变量到底该怎么引用比较,该怎么办呢?
#!/bin/sh
func()
{
min=20
max=80
echo "Function start>>>>>>"
if [ "$line" -le "$max" ] && [ "$line" -ge "$min" ]; then
echo "yes"
return "0"
else
echo "wrong"
return "1"
fi
}
read line
func
echo $?
[/code]
运行提示出错 [: 17: Illegal number:
也就是不合法的值,现在知道错误肯定是 if 那一行,就是不知道变量到底该怎么引用比较,该怎么办呢?
|
#!/bin/sh
func()
{
line=$1
min=20
max=80
echo "Function start>>>>>>"
if [ "$line" -le "$line" ] && [ "$line" -ge "$min" ]; then
echo "yes"
return "0"
else
echo "wrong"
return "1"
fi
}
read line
func $line
echo $?
变量与 "=" 之间不能有空格
|
你的写法是bash的
|
兄弟,在我的redhat的bash和solaris下的ksh下运行良好啊~~