trap (beépített Bash parancs)

Tartalom

 

Adatok

Licenc: GNU GPLv3+
Verziószám: GNU Bash 5
Fejlesztő/tulajdonos: Free Software Foundation Inc.

Rövid leírás:

A trap beépített Bash parancs manual oldala és súgója. A trap parancs meghatároz és aktivál eseménykezelőket, amelyek szignálok érkezésekor vagy más körülmények bekövetkezésekor futnak.

 

 

Man oldal kimenet

man bash
[...]
       trap [-lp] [[arg] sigspec ...]
              The  command  arg  is  to  be  read  and executed when the shell receives signal(s)
              sigspec.  If arg is absent (and there is a single sigspec)  or  -,  each  specified
              signal  is reset to its original disposition (the value it had upon entrance to the
              shell).  If arg is the null string the signal specified by each sigspec is  ignored
              by the shell and by the commands it invokes.  If arg is not present and -p has been
              supplied, then the trap commands associated with each sigspec are displayed.  If no
              arguments are supplied or if only -p is given, trap prints the list of commands as-
              sociated with each signal.  The -l option causes the shell to print a list of  sig-
              nal  names  and  their corresponding numbers.  Each sigspec is either a signal name
              defined in <signal.h>, or a signal number.  Signal names are case  insensitive  and
              the SIG prefix is optional.

              If  a sigspec is EXIT (0) the command arg is executed on exit from the shell.  If a
              sigspec is DEBUG, the command arg is executed before every simple command, for com-
              mand,  case  command,  select command, every arithmetic for command, and before the
              first command executes in a shell function (see SHELL GRAMMAR above).  Refer to the
              description  of  the extdebug option to the shopt builtin for details of its effect
              on the DEBUG trap.  If a sigspec is RETURN, the command arg is executed each time a
              shell  function or a script executed with the . or source builtins finishes execut-
              ing.

              If a sigspec is ERR, the command arg is executed whenever  a  pipeline  (which  may
              consist  of  a  single  simple  command),  a  list, or a compound command returns a
              non-zero exit status, subject to the following conditions.  The ERR trap is not ex-
              ecuted  if  the  failed command is part of the command list immediately following a
              while or until keyword, part of the test in an if statement, part of a command exe-
              cuted  in a && or || list except the command following the final && or ||, any com-
              mand in a pipeline but the last, or if the command's return value is being inverted
              using !.  These are the same conditions obeyed by the errexit (-e) option.

              Signals  ignored  upon entry to the shell cannot be trapped or reset.  Trapped sig-
              nals that are not being ignored are reset to their original values in a subshell or
              subshell  environment  when  one  is  created.   The  return status is false if any
              sigspec is invalid; otherwise trap returns true.
[...]

 

 

Súgó kimenet

trap --help
trap: trap [-lp] [[arg] szignál ...]
    Szignálok és más események elfogása.
    
    Meghatároz és aktivál eseménykezelőket, amelyek szignálok érkezésekor
    vagy más körülmények bekövetkezésekor futnak.
    
    Az ARG az a parancs, amelyet a parancsértelmező beolvas és végrehajt a
    SZIGNÁLOK bekövetkezésekor. Ha az ARG hiányzik (és egy SZIGNÁL van
    megadva) vagy az ARG egy „-”, akkor minden szignálkezelő visszaáll az
    alapértelmezett viselkedésre. Ha az ARG üres, akkor a megadott SZIGNÁLOK
    bekövetkezésekor nem történik semmi a parancsértelmezőben és új
    gyermekfolyamataiban.
    
    Ha a SZIGNÁL értéke EXIT (0), az ARG a parancsértelmezőből való kilépéskor
    fut. Ha értéke DEBUG, az ARG minden parancs előtt fut. Ha a SZIGNÁL értéke
    RETURN, az ARG a . vagy source kulcsszó használatával futtatott függvény
    vagy parancsfájl befejeződésekor fut le. Ha az érték ERR, akkor az ARG a
    parancsok olyan hibáikor fut le, amikor a parancsértelmező kilépne a -e
    kapcsoló használatakor.
    
    Argumentumok nélkül a trap kilistázza az összes szignált és parancsot.
    
    Kapcsolók:
      -l        a rendszeren érvényes szignálnevek és sorszámaik kilistázása
      -p        kilistázza a trap által beállított eseménykezelőket
    
    A SZIGNÁL értéke a <signal.h>-ban megtalálható szignálnév vagy szám.
    A szignálnevek kis- és nagybetűkre érzéketlenek, a SIG előtag elhagyható.
    Szignált a parancsértelmezőnek a „kill -szignál $$” paranccsal
    lehet küldeni.
    
    Kilépési kód:
    Sikerrel tér vissza, kivéve ha a SZIGNÁL érvénytelen, vagy érvénytelen
    kapcsolót kap.

 

Kapcsolódó tartalom

 

Címkék