Synopsis
pathchk [-pP] pathname ...
Description
The pathchk utility checks whether each of the specified pathname arguments is valid or portable.
A diagnostic message is written for each argument that:
• Is longer than PATH_MAX bytes.
• Contains any component longer than NAME_MAX bytes. (The value of NAME_MAX depends on the underlying file system.)
• Contains a directory component that is not searchable.
It is not considered an error if a pathname argument contains a nonexistent component as long as a component by that name could be created.
The options are as follows:
-p: Perform portability checks on the specified pathname arguments. Diagnostic messages will be written for each argument that:
• Is longer than _POSIX_PATH_MAX (255) bytes.
• Contains a component longer than _POSIX_NAME_MAX (14) bytes.
• Contains any character not in the portable filename character set (that is, alphanumeric characters, ‘.’, ‘-’ and ‘_’). No component may start with the hyphen (‘-’) character.
-P: In addition to the default or -p checks, write a diagnostic for each argument that:
• Is empty.
• Contains a component that starts with a hyphen.
Exit Status
The pathchk utility exits 0 on success, and >0 if an error occurs.
Examples
Check whether the names of files in the current directory are portable to other POSIX systems:
find . -exec pathchk -p -- {} +
See Also
getconf(1), pathconf(2), stat(2)
Standards
The pathchk utility conforms to IEEE Std 1003.1-2001 (“POSIX.1”).
History
A pathchk utility appeared in FreeBSD 5.0.
macOS 26.4 May 1, 2010 macOS 26.4