免费注册 查看新帖 |

Chinaunix

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

一个SCO UNIX下SHELL写的选择菜单 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-29 15:25 |只看该作者 |倒序浏览
iy=30        # 起始列
iOx=3        # 起始行
iCx=3        # 缺省行
iFil=/tmp/iFil.$$
ls | head -18 >$iFil
setkey 50 "k\n"
setkey 58 "j\n"
printf "^[[=14;12C"
stty -echo

iLn=`cat $iFil|wc -l`
iSx=`expr $iOx + $iLn + 1`
iCx=`expr $iCx + $iOx`
clear

while true
do
        ix=$iOx
        tput cup $ix $iy
        echo "┌────────┐"
        for i in `cat $iFil`
        do
                ix=`expr $ix + 1`
                tput cup $ix $iy
                echo -n "│"
                [ "$ix" = "$iCx" ] && echo -n "^[[1;7m"
                printf "%-16.16s" $i
                [ "$ix" = "$iCx" ] && echo -n "^[[m"
                [ "$ix" = "$iCx" ] && SEL=$i
                echo -n "│"
        done
        ix=`expr $ix + 1`
        tput cup $ix $iy
        echo "└────────┘"
        iy=`expr $iy + 2`
        tput cup $iCx $iy
        iy=`expr $iy - 2`
        read kk
        case $kk in
                [k])
                        iCx=`expr $iCx - 1`
                        ;;

                [j])
                        iCx=`expr $iCx + 1`
                        ;;

                *)
                        iSx=`expr $iSx + 2`
                        tput cup $iSx $iy
                        echo "您选择的是:[$SEL]"
                        setkey 50 ^[[A
                        setkey 58 ^[[B
                        printf "^[[=10;12C"
                        stty echo
                        break;
                        ;;
        esac
        [ "$iCx" = "$iSx" ] && iCx=`expr $iCx - 1`
        [ "$iCx" = "$iOx" ] && iCx=`expr $iOx + 1`
done
rm -f $iFil

论坛徽章:
0
2 [报告]
发表于 2003-12-30 17:30 |只看该作者

一个SCO UNIX下SHELL写的选择菜单

能加一下注释嘛 谢了先

论坛徽章:
0
3 [报告]
发表于 2003-12-31 11:52 |只看该作者

一个SCO UNIX下SHELL写的选择菜单

[quote]原帖由 "yunyt"]能加一下注释嘛 谢了先[/quote 发表:


哪一行看不懂呢?

论坛徽章:
1
15-16赛季CBA联赛之北控
日期:2022-03-04 22:35:50
4 [报告]
发表于 2003-12-31 15:17 |只看该作者

一个SCO UNIX下SHELL写的选择菜单

这是运行结果:


                              ┌────────┐
                              │a.c             │
                              │a.out           │
                              │^[[1;7mmenu            ^[[m│
                              │ml.c            │
                              │rev             │
                              │rev1            │
                              │rev2            │
                              │yn              │
                              └────────┘
yujf 该用户已被删除
5 [报告]
发表于 2003-12-31 16:15 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2004-01-03 16:48 |只看该作者

一个SCO UNIX下SHELL写的选择菜单

原帖由 "sdccf" 发表:
                           │ml.c            │
                              │rev             │
                              │rev1            │
                              │rev2           ..........



是在仿真终端上执行的吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP