run-parts - run scripts or programs in a directory

run-parts [--test] [--verbose] [--report] [--lsbsysinit] [--regex=RE] [--umask=umask] [--arg=argument]
          [--exit-on-error] [--help] [--version] [--list] [--reverse] [--] DIRECTORY

run-parts -V

Runs all the executable files named within constraints described below, found in directory directory. Other files and directories are silently ignored.

If neither --lsbsysinit nor --regex is given then the names must consist entirely of ASCII upper- and lower-case letters, digits, underscores, and minus-hyphens.

If --regex is given, the names must match the custom extended regular expression specified as that option's argument.

Files are run in the lexical sort order (according to the C/POSIX locale character collation rules) of their names unless --reverse is given, in which case they are run in the opposite order.

--test only output names of the scripts which would be run.
--list only output names of the all matching files (not limited to executables). Not used with --test.
-v
--verbose
output the name of each script to stderr before running.
--report similar to --verbose, but only output names of scripts which produce output. The script's name is printed to whichever of stdout or stderr the script first produces output on.
--reverse reverse the scripts' execution order.
--exit-on-error exit as soon as a script returns with a non-zero exit code.
--lsbsysinit use LSB namespaces instead of classical behavior.

Names must not end in .dpkg-old or .dpkg-dist or .dpkg-new or .dpkg-tmp, and must belong to one or more of the following namespaces:

  1. LANANA-assigned namespace (^[a-z0-9]+$);
  2. the LSB hierarchical and reserved namespaces (^_?([a-z0-9_.]+-)+[a-z0-9]+$); and the
  3. Debian cron script namespace (^[a-zA-Z0-9_-]+$).
--new-session run each script in a separate process session. If you use this option, killing run-parts will not kill the currently running script, it will run until completion.
--regex=RE validate filenames against custom extended regular expression RE. See the EXAMPLES section for an example.
-u
--umask=umask
sets the umask to umask before running the scripts. umask should be specified in octal. By default the umask is set to 022.
-a
--arg=argument
pass argument to the scripts. Use --arg once for each argument you want passed.
-- specifies that this is the end of the options. Any filename after -- will be not be interpreted as an option even if it starts with a hyphen.
-h
--help
display usage information and exit.
-V
--version
display version and copyright and exit.

Examples

Print the names of all files in /etc that start with `p' and end with `d': run-parts --list --regex '^p.*d$' /etc