как в скрипте на sh выключить обработку сигнала ctrl-c что бы пользователь не вываливался в домашний каталог надо что бы он вообще отваливалсяспасибо
>как в скрипте на sh выключить обработку сигнала ctrl-c что бы пользователь
>не вываливался в домашний каталог надо что бы он вообще отваливался
>
>
>спасибоНе совсем понял причем здесь каталоги. По поводу обработки сигналов в bash смотрите его ман на предмет trap.
>как в скрипте на sh выключить обработку сигнала ctrl-c что бы пользователь
>не вываливался в домашний каталог надо что бы он вообще отваливался
>
>
>спасибоничего не понял насчет каталогов, а насчет сигналов добавь в начале скрипта строчку
stty intr ^P
>ничего не понял насчет каталогов, а насчет сигналов добавь в начале скрипта
>строчку
>stty intr ^PВам никогда не приходило в голову что настройки терминала это личное дело пользователя и никакой скрипт не должен их трогать без действительно серьезных причин? Задача - корректная обработка сигнала INT, а не отключение комбинации ctrl-c на локальном терминале.
>>ничего не понял насчет каталогов, а насчет сигналов добавь в начале скрипта
>>строчку
>>stty intr ^P
>
>Вам никогда не приходило в голову что настройки терминала это личное дело
>пользователя и никакой скрипт не должен их трогать без действительно серьезных
>причин? Задача - корректная обработка сигнала INT, а не отключение комбинации
>ctrl-c на локальном терминале.ну во-первых настройки работают только в окружении даного скрипта и дальше скрипта не выйдут, а во-вторых в первом посте было сказано: "выключить обработку сигнала ctrl-c" посколько не было сказано что именно INT, значит человек врятли знал что этот сигнал называеться sigint, следовательно не будет пользоваться kill или killall, а только ctrl+C
у меня вот так вот работает:#!/bin/bash
while true
do
sleep 5;
trap "echo Not_Killed" 2
trap2()
{
echo "";
}
doneЗапускаем скрипт и когда жмем ctrl-c выводится
Not_Killed