<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.0.10">
</HEAD>
<BODY>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="1">-->On Mon, 2004-06-07 at 23:06, Jens Dreger wrote:<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<BLOCKQUOTE TYPE=CITE>
<PRE><!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><FONT COLOR="#737373"><I>Die Loesung liegt wohl in der Formulierung [man bash]:
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> When  a simple command other than a builtin or shell function is to
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> be executed, it is invoked in a separate execution environment that
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> consists of the following. [...]
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> *  traps caught by the shell are reset to the values the inherited
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->    from the shell's parent, and traps ignored by the shell are
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->    ignored.
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> [...]</I></FONT></PRE>
</BLOCKQUOTE>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->Hallo Jens,<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->vielen Dank, das ist die Lösung. (Hätte die bash-manpage doch noch etwas genauer lesen sollen...)<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->So funktioniert nun auch alles, wenn man trap und auszuführendes Kommando (NICHT-"<FONT COLOR="#737373"><I>builtin or shell function"</I></FONT>) bei der Signalbehandlung zusammen in eine Subshell packt:<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->p10: lutz  ~/BlaTmp<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->$ (trap 'touch trapped' 2 3; find / bla) # <FONT COLOR="#737373"><TT>mit CTRL-C abgebrochen</TT></FONT><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->p10: lutz  ~/BlaTmp<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->$ ls<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->trapped<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->Und damit erklärt sich, warum ein "<FONT COLOR="#737373"><I>builtin or shell function" wie das Ignorieren eines Signals auch ohne gemeisame Subshell funktioniert:</I></FONT><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->p10: lutz  ~/BlaTmp<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><TT>$ trap "" 2 3</TT><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->p10: lutz  ~/BlaTmp<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->$ <TT>find / bla # lässt sich nun nicht mehr mit<FONT COLOR="#737373"> CTRL-C abbrechen</FONT><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->Mit bewußtseinserweiterten Grüßen<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->Lutz</TT><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<PRE><!--+GtkHTML:<DATA class="ClueFlow" clear="orig">--><!--+GtkHTML:<DATA class="ClueFlow" key="signature" value="1">--><!--+GtkHTML:<DATA class="ClueFlow" key="signature_name" value="auto">--><TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
</TR>
<TR>
</TR>
<TR>
<TD>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
-- <BR>
<!--+GtkHTML:<DATA class="ClueFlow" clear="orig">--><BR>
Lutz Meinert <<A HREF="mailto:lutz.meinert@madvedge.de"><U>lutz.meinert@madvedge.de</U></A>>
</TD>
</TR>
</TABLE>
</PRE>
</BODY>
</HTML>