LoveUnix » 编程开发 & Rational » 请教一个Shell的问题
让LU留住您的每

一天 让LU博客留住您的每一天
2006-9-7 15:16 alligator
请教一个Shell的问题

给Operators写个小程序,基本上就是一个字符界面,选1就执行什么,选2就执行什么.

想问下大家怎么设置trap,让他们除了1,2之外输入别的都无效,什么Ctrl h, Ctrl c之类的.

谢谢.

2006-9-7 16:30 meteor06
kill -l 可以看到各信号量的简单说明

举个例子
trap "" 2
.....
就可以封住ctrl -c 了,封的太多也不好,出问题想断都麻烦 :lol

2006-9-7 19:52 beginner-bj
cat /etc/profile,里面有现成的例子

2006-9-7 20:37 AUF
俺来弄一下斧:
trap "" 2 3 5 15
while true
do
        clear
        echo "\n"
        echo "\t\t\t┏━━━━━━━━━━━━━━┓"
        echo "\t\t\t┃         软 盘 操 作                  ┃"
        echo "\t\t\t┠──────────────┨"
        echo "\t\t\t┃                                          ┃"
        echo "\t\t\t┃   1--查看本机中已有数据        ┃"
        echo "\t\t\t┃                                          ┃"
        echo "\t\t\t┃   2--查看软盘上的内容           ┃"
        echo "\t\t\t┃                                          ┃"
        echo "\t\t\t┃   3--向软盘追加数据              ┃"
        echo "\t\t\t┃                                          ┃"
        echo "\t\t\t┃   4--向软盘覆盖数据              ┃"
        echo "\t\t\t┃                                          ┃"
        echo "\t\t\t┃   5--从软盘读入数据              ┃"
        echo "\t\t\t┃                                          ┃"
        echo "\t\t\t┃   00--退出                           ┃"
        echo "\t\t\t┃                                         ┃"
        echo "\t\t\t┠──────────────┨"
        echo "\t\t\t┃   请选择:                             ┃"
        echo "\t\t\t┗━━━━━━━━━━━━━━┛"
        echo "^[[19;38H\c"
        read Selt1
        case $Selt1 in
                1) Showlocal;;
                2) Tar_tv6;;
                3) Tar_rv6;;
                4) Tar_cv6;;
                5) Read_data;;
                00) return 0;;
        esac
done
这是当时给业务人员准备的。

[[i] 本帖最后由 AUF 于 2006-9-7 20:41 编辑 [/i]]

2006-9-8 01:45 炸鸡
我建议多放点,紧急情况有时就靠那几个键了。

2006-9-8 08:44 meteor06
[quote]原帖由 [i]炸鸡[/i] 于 2006-9-8 01:45 发表
我建议多放点,紧急情况有时就靠那几个键了。 [/quote]
以前考虑过是否封ctrl-c ,后来一想,好歹ctrl_c是中断当前的,如果特殊情况真需要中断,让操作员去用kill
还不晓得会把什么进程给干掉 :L
不过有的时候规定是这样,没法子

[[i] 本帖最后由 meteor06 于 2006-9-8 08:45 编辑 [/i]]

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.