Detect invalid and problematic pathname lengths and patterns, accounting for both unix-like and Microsoft OSes.
Restrictions include:
-
POSIX Portable Filename Character Set,
-
ustar pathname length restrictions,
-
MS-DOS and Microsoft Windows restrictions,
-
additional restrictions to avoid common usability problems.
Invalid pathnames are printed to STDOUT with a summary of problems for each name.
Check pathnames given as arguments:
aproname pathname…
Check the pathnames in a directory tree:
find path… -exec aproname {} +
Check pathnames from STDIN:
… | xargs -I {} aproname {}
… | xargs -0 aproname
The script returns exit code 1 if any problematic patterns are found. Otherwise it returns exit code 0.