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.
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.
sets the umask to umask before running the scripts. umask should be specified in octal. By default the umask is set to 022.
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.
display usage information and exit.
display version and copyright and exit.


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