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
- 27 megtekintés