shell腳本中的trap命令

 

[root@localhost ~]# trap -llinux

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

~          

相關文章
相關標籤/搜索