| 您的位置:首页 > 文档 > Shell > |
文章分类热门文章 |
偶用tput编的一个选择式菜单创建:2005-10-26 00:49:45 作者:Unlinux 来自: http://www.Unlinux.com 偶编的简单的菜单:感觉还可以,就是运行太慢,可能不实用,但费了偶不少脑筋 ,不忍弃之.. ###################################### # # program: MENU_CD # ###################################### # 屏幕任意位置函数 xy() { #_R=row,_C=column _R=$1 _C=$2 tput cup $_R $_C } ########## 格式化dd_code.txt文件内容并生成屏幕菜单 clear xy 1 2 echo '[36m┌────────────────────────────────┐[37m' #注[36m)( 色彩控制符在unix下应该是这样的^[[36m xy 1 26 echo '[41m[37m业务处理主菜单[40m' xy 2 2 echo ' ' r_1=2 # 画框行变量 r_row=1 # 记录行变量 c_col=5 # 记录列变量 count=0 # 循环记数器,dd_code.txt文本行变量 wc -l dd_code.txt >menu.tmp sum=`awk '{print $1}' menu.tmp` ## 循环终止值 while [ $count -lt $sum ] do xy $r_1 2 echo '[36m│[37m' xy $r_1 68 echo '[36m│[37m' #xy $r_row $c_col #sed -n ""$count"p" dd_code.txt ################################### 计算列位置 bc <<! >hh.tmp $count%2 quit ! ################################### int=`sed -n "1p" hh.tmp` if [ "$int" = "0" ]; then c_col=5 r_row=`expr $r_row + 1` count=`expr $count + 1` r_1=`expr $r_1 + 1` xy $r_row $c_col sed -n ""$count"p" dd_code.txt else c_col=5 #r_row=`expr $r_row + 1` c_col=`expr $c_col + 30` count=`expr $count + 1` #r_1=`expr $r_1 + 1` xy $r_row $c_col sed -n ""$count"p" dd_code.txt fi done echo " [36m└────────────────────────────────┘[37m" echo " 请输你的选择[回车则退出]:[32mc" read choose_dh echo "[37m" if [ "$choose_dh" = "" ]; then rm *.tmp # 删除临时文件 exit 1 fi ..........以后是你就可以是你要调用子程序或子菜单或命令的语句了... #################################### 这是菜单内容文本: dd_code.txt 1 -----菜单名 2 -----菜单名 3 -----菜单名 4 -----菜单名 ....... n -----菜单名 将菜单名改成你所定义的名称,然后运行menu_dd即可. 请大家斧正. 转载自:http://www.unlinux.com/doc/shell/20051026/232.html 【评论】 【加入收藏夹】 【大 中 小】 【打印】 【关闭】 ※ 相关链接 无相关信息 |