$manlookup

run-parts

(8)

run scripts or programs in a directory

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

Options

15
--test

print the names of the scripts which would be run, but don't actually run them.

--list

print the names of the all matching files (not limited to executables), but don't actually run them. This option cannot be used with --test.

-v--verbose

print the name of each script to stderr before running.

--report

similar to --verbose, but only prints the name of scripts which produce output. The script's name is printed to whichever of stdout or stderr the script first produces output on.

-d--debug

print to stderr which scripts get selected for running and which don't.

--reverse

reverse the scripts' execution order.

--exit-on-error

exit as soon as a script returns with a non-zero exit code.

--stdin

multiplex stdin to scripts being run, using temporary file

--lsbsysinit

use LSB namespaces instead of classical behavior.

--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.

--regexRE

validate filenames against custom extended regular expression RE. See the EXAMPLES section for an example.

-u--umaskumask

sets the umask to umask before running the scripts. umask should be specified in octal. By default the umask is set to 022.

-a--argargument

pass argument to the scripts. Use --arg once for each argument you want passed.

-h--help

display usage information and exit.

-V--version

display version and copyright and exit.

DESCRIPTION

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

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

If the --lsbsysinit option is given, then the 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: the LANANA-assigned namespace (^[a-z0-9]+$); the LSB hierarchical and reserved namespaces (^_?([a-z0-9_.]+-)+[a-z0-9]+$); and the Debian cron script namespace (^[a-zA-Z0-9_-]+$).

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

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

If more than more DIRECTORY is specified, then files with the same name in earlier directories will take precedence over files in directories specified in later arguments. This allows run-parts to receive directories with scripts in both /usr and /etc but let files in /etc override scripts in /usr if they are named the same. The directory under /etc would need to be specified before the path under /usr for this to happen.

EXAMPLES

Print the names of all files in /etc that start with `p' and end with `d':

run-parts --list --regex '^p.*d$' /etc