|
我正在写一个在文本下绘制表格的脚本程序,现在可以画表了,难题是如果保存到一个文本文件中,而且是可以编辑的?
我尝试了用script制作副本的方法,可以无法在vi中编辑,用>>到文件的方法还没有理出头绪?请大家一起动手,尽力完善,出谋划策  - [/home/javalee/myshell]cat mytab
- #!/bin/ksh
- #scriptname:mytab
- #author:javalee
- #
- ######begin
- function char {
- stty cbreak -echo
- dd if=/dev/tty bs=1 count=1 2>/dev/null
- stty -cbreak echo
- }
- clear
- #
- echo -n "\\033[1;1HTable Guide:"
- echo -n "\\033[2;1H----------------------------------------------------------------------------------------------------
- CONTROLKEY:
- [Key-i=UP] [Key-k=DOWN] [Key-j=LEFT] [Key-l=RIGHT] [Key-q=EXIT]
- [Key-A=\\0311] [Key-B=\\0315] [Key-C=\\0273] [Key-D=\\0272] [Key-E=\\0314]
- [Key-F=\\0271] [Key-G=\\0316] [Key-W=\\0274] [Key-S=\\0310] [Key-R=\\0313]\n----------------------------------------------------------------------------------------------------"
- #设定光标初始位置
- echo -n "\\033[8;1HBEGIN:"
- #这个循环里定义了一些按键
- while true;do
- case $(char) in
- i) echo -n "\\033[1A";echo -n "\\033[s"
- ;;
- k) echo -n "\\033[1B";echo -n "\\033[s"
- ;;
- j) echo -n "\\033[1D";echo -n "\\033[s"
- ;;
- l) echo -n "\\033[1C";echo -n "\\033[s"
- ;;
- a) echo -n "\\0311";echo -n "\\033[s"
- ;;
- b) echo -n "\\0315";echo -n "\\033[s"
- ;;
- c) echo -n "\\0273";echo -n "\\033[s"
- ;;
- d) echo -n "\\0272";echo -n "\\033[s"
- ;;
- e) echo -n "\\0314";echo -n "\\033[s"
- ;;
- f) echo -n "\\0271";echo -n "\\033[s"
- ;;
- g) echo -n "\\0316";echo -n "\\033[s"
- ;;
- w) echo -n "\\0274";echo -n "\\033[s"
- ;;
- s) echo -n "\\0310";echo -n "\\033[s"
- ;;
- r) echo -n "\\0313";echo -n "\\033[s"
- ;;
- ) echo -n "\\0331D"
- ;;
- q) echo -n "\\033[8;1HQuit?[y/n]"
- read answer
- case $answer in
- y) exit;;
- *) echo -n "\033[u";continue;;
- esac
- ;;
- esac
- done
复制代码 BTW:基于文本方式,可以显示这些制表符. ;) |
|