免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3393 | 回复: 8
打印 上一主题 下一主题

通用的菜单程序(shell编写)请大家给个意见! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-14 17:57 |只看该作者 |倒序浏览
menu是shell写成的shell函数,
用法:menu 菜单名 菜单选项 菜单主名称
菜单选项为0时显示该菜单名的菜单
菜单名主名称为菜单的主标题
menu.txt是菜单配置文件,配置说明如下:
菜单名|菜单项代码|行|列|菜单名称|菜单程序
菜单名为menu调用的菜单名
菜单项代码为选择的代码
行、列为在指定行列显示菜单
菜单名称为显示的菜单项汉字
菜单程序为该菜单项要调用的程序
菜单程序可以再调用menu形成下级菜单
例:menu.txt
main|1|12|10|看文件test|more test
main|2|12|50|看文件test2|more test2
main|3|13|10|二级菜单|menu mmmm 0 "二级菜单"
mmmm|1|10,10|编辑文件|vi test
程序如下:
menu()
{
        browfile=$HOME/tmp/brow$RANDOM.$SECONDS
        rm -f $browfile 1>/dev/null 2>&1
        clear
        [ $2 = "q" ] && return
        awk ' BEGIN { FS = "|"
                if ( "'$2'" == "0" )
                        printf("\033[4;20H%s","'$3'"
                        }
                {
                        if ( "'$2'" == "0" )
                        {
                                if ( $1 == "'$1'" )
                                        printf("\033[%s;%sH%s ---- %s",$3,$4,$2,$5)
                        }
                        else
                        {
                                if ( $1 == "'$1'" && $2 == "'$2'" )
                                        printf("%s",$6) >"'$browfile'"
                        }
                }
                END {
                        if ( "'$2'" == "0" )
                                printf( "\033[20;20H请选择\(q - 返回\):  " )
                } ' "./menu.txt"
        [ -f $browfile ] &&
        {
                a=`cat $browfile`
                $a
                rm $browfile 1>/dev/null 2>&1
        }
        [ $2 = "0" ] || return
        if [ $2 = "0" ]
        then
                read xz
                [ $xz ] || xz="0"
                [ $xz = "q" ] && return
                [ $xz = "0" ] ||
                        {
                                menu $1 $xz $3
                        }
        fi
        menu $1 0 $3
        return
}

menu main 0 "通用菜单"

论坛徽章:
0
2 [报告]
发表于 2004-04-14 22:59 |只看该作者

通用的菜单程序(shell编写)请大家给个意见!

先收下,试试。

论坛徽章:
0
3 [报告]
发表于 2004-04-14 23:31 |只看该作者

通用的菜单程序(shell编写)请大家给个意见!

我SHELL新手,试了一下好象不行呀?我想肯定是我的操作有误!

atgfgd 及各位大虾:

menu.txt说明与用法能否详细具体一点呢... ...?

谢了!!!

论坛徽章:
0
4 [报告]
发表于 2004-04-16 20:35 |只看该作者

通用的菜单程序(shell编写)请大家给个意见!

好像没用

论坛徽章:
0
5 [报告]
发表于 2004-04-16 20:44 |只看该作者

通用的菜单程序(shell编写)请大家给个意见!

[quote]原帖由 "abist"]好像没用[/quote 发表:

好像没大用

论坛徽章:
0
6 [报告]
发表于 2004-04-17 13:46 |只看该作者

通用的菜单程序(shell编写)请大家给个意见!

abist、bjgirl
你们试过吗?

论坛徽章:
0
7 [报告]
发表于 2004-04-27 19:19 |只看该作者

通用的菜单程序(shell编写)请大家给个意见!

大家给个意见如何?

论坛徽章:
0
8 [报告]
发表于 2004-08-07 01:52 |只看该作者

通用的菜单程序(shell编写)请大家给个意见!

试了一下,当用二级菜单时,如 menu mmmm 0 "标题" 运行出错,如把"标题"去掉,则可以支运行,楼主想法解决一下,如做成光带菜单就好了

论坛徽章:
0
9 [报告]
发表于 2004-08-07 01:57 |只看该作者

通用的菜单程序(shell编写)请大家给个意见!

精神可嘉,鼓励原创!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP