Ctrl-Cはbashのルートでログアウトをトリガーします。

Ctrl-Cはbashのルートでログアウトをトリガーします。

この特定のサーバーで非常に残念な問題に直面しました。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 ~]$   

ベストアンサー1

BashでCtrl-CをキャプチャするCTRL+をキャプチャしCて特定のアクションをトリガーする方法を説明します。強制的に同様のトラップを実行している場合は、アカウント(など)
を確認してください。rootbashrcログアウトCTRL+を押すとC

Bashでctrl-cをキャプチャ

組み込みトラップを使用すると、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

おすすめ記事