shell脚本中的trap命令

[root@localhost ~]# trap -l

1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP

6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1

11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM

16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP

扫描二维码关注公众号,回复: 1429422 查看本文章

21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ

26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR

31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3

38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8

43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13

48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12

53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7

58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2

63) SIGRTMAX-1 64) SIGRTMAX

trap -l显示信号名称和对应的组合键

trap "" 2    ---屏蔽Ctrl+C组合键

trap ":" 2  ---恢复Ctrl+C组合键

[root@localhost ~]# trap " echo -n 'you are typing ctrl+c' " 2 
[root@localhost ~]# ^Cyou are typing ctrl+c

shell跳板机

1)首先做好ssh key认证

2)实现传统的远程菜单选择脚本

3)利用linux信号防止用户在跳板机上操作

4)用户登录后即调用脚本

function trapper(){

trap ":" INT EXIT TSTP TERM HUP

}

while true

do

 trapper

        clear

            cat<<menu

            1)web a

            2)web b

            3)exit

menu

        read -p "please input:" num

        case "$num" in

        1)

         ssh 10.0.0.19

         ;;

        2)

         ssh 10.0.1.18

         ;;

        3)

         exit

esac

done

~          

猜你喜欢

转载自my.oschina.net/u/1866459/blog/869938
今日推荐