#!/bin/sh
# func_menu.sh
input()
{
read chioce
case $chioce in
1 | S | s)
return 1;;
2 | L | l)
return 2;;
3 | E | e)
return 3;;
*)
return -1;;
esac
}
echo "1 save"
echo "2 load"
echo "3 exit"
echo
while true
do
echo "please choose"
case input in
1)
echo "save";;
2)
echo "load";;
3)
echo "exit"
break;;
-1)
echo "invalid choice";;
esac
done
echo "done"
exit 0
求解答什么错误。我找了很长时间,但是没有找到错误!什么感谢都行!
shell脚本错误,求助!
-
- 帖子: 16
- 注册时间: 2012-02-21 19:55
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: shell脚本错误,求助!
代码: 全选
case input in
- Think1st
- 帖子: 45
- 注册时间: 2012-02-07 23:08
Re: shell脚本错误,求助!
稍微改了,正确的写法。
input要加上$(), 函数要改为echo值返回,具体原因见代码说明。
是不是所有感谢都行。。送感谢啊你懂的。。 
代码: 全选
#!/bin/sh
# func_menu.sh
input()
{
read chioce
case $chioce in
1 | S | s)
echo 1; return ;;
2 | L | l)
echo 2; return ;;
3 | E | e)
echo 3; return ;;
*)
echo -1; return ;;
esac
}
echo "1 save"
echo "2 load"
echo "3 exit"
echo
while true
do
echo "please choose"
case $(input) in
1)
echo "save";;
2)
echo "load";;
3)
echo "exit"
break;;
-1)
echo "invalid choice";;
esac
done
echo "done"
exit 0
代码: 全选
#!/bin/bash
# 用return的方式用$?获取,只能return数值
fun1()
{
return 1
}
fun1
num=$?
echo "num:$num"
# 用echo的方式可以用$(fun2)获取,可以echo String
fun2()
{
echo 3
return
}
num=$(fun2)
echo "num:$num"

在这里,问题比答案更抢手。
- ljj_jjl2008
- 论坛版主
- 帖子: 14256
- 注册时间: 2007-09-16 8:29
Re: shell脚本错误,求助!
我改了一个地方,楼主看看。
代码: 全选
#!/bin/sh
# func_menu.sh
input()
{
read chioce
case $chioce in
1 | S | s)
return 1;;
2 | L | l)
return 2;;
3 | E | e)
return 3;;
*)
return -1;;
esac
}
echo "1 save"
echo "2 load"
echo "3 exit"
echo
while true
do
echo "please choose"
input
case $? in
1)
echo "save";;
2)
echo "load";;
3)
echo "exit"
break;;
-1)
echo "invalid choice";;
esac
done
echo "done"
exit 0
闻到死太贵, 麦克价更高。 有了笨笨兔, 二者皆可抛。
+ 我的六轮折腾
+ 折腾6轮的结果(对40余种WM的测试和分析,多种DE和WM并存的方案)
+ 折腾的中间成果:可以独立运行的一个Wharf(图标化的启动菜单)
+ 强烈推荐----折腾的终极成果:一个自己开发的DE环境
+ 签名空闲链接位置招租
+ 我的六轮折腾
+ 折腾6轮的结果(对40余种WM的测试和分析,多种DE和WM并存的方案)
+ 折腾的中间成果:可以独立运行的一个Wharf(图标化的启动菜单)
+ 强烈推荐----折腾的终极成果:一个自己开发的DE环境
+ 签名空闲链接位置招租
-
- 帖子: 16
- 注册时间: 2012-02-21 19:55
Re: shell脚本错误,求助!
是地。什么感谢都行,可以说吗?我一定办到。在自己能力范围内。