读书人

shell 中的自定义函数 有关问题

发布时间: 2012-09-15 19:09:28 作者: rapoo

shell 中的自定义函数 问题
fun1()
{
read x
if [ $x -eq 8 ]
then
echo "x==8"
return 1
else
return 0
echo "x!=8"
fi
}
fun2(){
echo "fun2"
}

echo $fun1

if fun1
then
echo "true"
exit 0
else
fun2
fi

当我输入x的值为8时,fun1函数return1,木有问题。
接下来的if判断语句着实让我迷惑了。
为什么执行的是else?
为什么echo $fun1 输出的是空格(或者是回车)?
如果if条件换成是 : if $fun1
则结果运行的是then



[解决办法]
fun1 不存在,如果需要调用自己的fun1(),需要$fun1
[解决办法]
楼主写得好奇怪,fun1这个变量有定义吗?看楼主上面写的是一个函数啊,echo $fun1
if fun1 这边也不能这样写的吧?
建议函数还是写成function fun1 () {}

读书人网 >perl python

热点推荐