首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

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

2012-09-15 
shell 中的自定义函数 问题fun1(){read xif [ $x -eq 8 ]thenecho x8return 1elsereturn 0echo x!8

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 () {}

热点排行