
私は次のトラップスクリプトを持っていますが、それについてのアイデアは私に少しあいまいです。
#!/bin/bash
for i in {1..64}; do
trap "echo 'signal[$$] Caught signal SIG$(kill -l "$i")($i)'" "$i";
done;
read -s -n1;
答え1
スクリプトは受信した信号を印刷する以外は何もしません。
kill -l "$i"
信号番号を名前に変更します。
このスクリプトを次のように変更します。
#!/bin/bash
echo "My PID is $$"
echo "Send SIGNALS with this command:"
echo " kill -SIG $$"
echo "SIG may be either a signal name or number, see kill -l"
for i in {1..64}; do
trap "echo 'signal[$$] Caught signal SIG$(kill -l "$i")($i)'" "$i";
done;
read -s -n1;