Control-C 在 bash 中触发从 root 注销

Sir*_*ave 4 linux bash root centos

我在这个特定的服务器上遇到了一个非常令人沮丧的问题,每次我按ctrl+ 时c,我都会从根会话中注销


运行 CentOS Linux 7.3.1611 和 Bash (4.2.46-21.el7_3.x86_64)

[root@server ~]# uname -a  
Linux server 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux  
[root@server ~]# ^C   
[root@server ~]# logout
[user@server ~]$   
Run Code Online (Sandbox Code Playgroud)

Yar*_*ron 6

trapping-ctrl-c-in-bash描述如何捕获CTRL+C以触​​发某些操作。
请检查您的root帐户(bashrc等),如果您正在运行类似的陷阱以在按+时强制注销CTRLC

在 Bash 中捕获 ctrl-c

您可以使用内置的 trap 来处理用户在执行 Bash 脚本期间按下 ctrl-c 的情况。例如,如果您需要执行一些清理功能。

#!/bin/bash

# trap ctrl-c and call ctrl_c()
trap ctrl_c INT

function ctrl_c() {
        echo "** Trapped CTRL-C"
}

for i in `seq 1 5`; do
    sleep 1
    echo -n "."
done
Run Code Online (Sandbox Code Playgroud)