Chinaunix

标题: 如何在sh中获取当前光标在第几行 [打印本页]

作者: playboy    时间: 2003-01-21 17:51
标题: 如何在sh中获取当前光标在第几行
在命令行下运行一个sh,
在该sh中想获取光标所在第几行,以及当前屏幕总的行数,如何获取????
作者: 菜虾    时间: 2003-01-21 19:41
标题: 如何在sh中获取当前光标在第几行
好象不能
作者: 坏蛋    时间: 2003-01-21 21:17
标题: 如何在sh中获取当前光标在第几行
可以的,看以下例子。

#!/bin/sh
get_char()
{
tty=`tty`
SAVEDSTTY=`stty -g`
stty cbreak
dd if=$tty bs=1 count=1 2>/dev/null
stty -cbreak
stty $SAVEDSTTY
}

cursor()
{
        _OPT=$1
        case $_OPT in
        on)     echo `tput cnorm`
                ;;
        off) echo `tput civis`
                ;;
        *)      return 1
        esac
}
goto()
{
        _R=$1
        _C=$2
        tput cup $_R $_C
}

text()
{
        _R=$1
        _C=$2
        _TEXT=$3
        goto $_R $_C
        echo "$_TEXT"
}

BOLD=`tput bold`
REV=`tput rev`
NORMAL=`tput sgr0`

CUROFF=`tput civis`
CURON=`tput cnorm
show_menu()
{
        _ITEM=$1

        x=7
        y=26

        tput clear

        text 2 20 "${BOLD}例子${NORMAL}"
        text `expr $x + 15` 6 "请选择[0-6]: \c"
}

#now begin
tput init
item=0
while [ 1 = 1 ]
do
        show_menu $item
        read akey
        case $akey in
        1)
                #your process here
                echo "处理成功按回车键继续..."
                read anykey
                ;;
done
作者: laoxia    时间: 2003-01-21 22:05
标题: 如何在sh中获取当前光标在第几行
> 以及当前屏幕总的行数

# tput cols
作者: playboy    时间: 2003-01-22 11:31
标题: 如何在sh中获取当前光标在第几行
tput cols 的值总是80
作者: nkliyong    时间: 2003-01-22 14:52
标题: 如何在sh中获取当前光标在第几行
原帖由 "坏蛋" 发表:

do
        show_menu $item
        read akey
        case $akey in
        1)
                #your process here
                echo "处理成功按回车键继续..."
                read anykey
  ..........

get_char()
cursor()
没用上.
anykey=akey
应该先调试.
和问题不大一样.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2