dirname
BASENAME(1) General Commands Manual BASENAME(1)
NAME
basename, dirname – return filename or directory portion of pathname
SYNOPSIS
basename string [suffix]
basename [-a] [-s suffix] string [...]
dirname string [...]
DESCRIPTION
The basename utility deletes any prefix ending with the last slash ‘/’
character present in string (after first stripping trailing slashes), and a
suffix, if given. The suffix is not stripped if it is identical to the
remaining characters in string. The resulting filename is written to the
standard output. A non-existent suffix is ignored. If -a is specified,
then every argument is treated as a string as if basename were invoked with
just one argument. If -s is specified, then the suffix is taken as its
argument, and all other arguments are treated as a string.
The dirname utility deletes the filename portion, beginning with the last
slash ‘/’ character to the end of string (after first stripping trailing
slashes), and writes the result to the standard output.
EXIT STATUS
The basename and dirname utilities exit 0 on success, and >0 if an error
occurs.
EXAMPLES
The following line sets the shell variable FOO to /usr/bin.
FOO=`dirname /usr/bin/trail`
SEE ALSO
csh(1), sh(1), basename(3), dirname(3)
STANDARDS
The basename and dirname utilities are expected to be IEEE Std 1003.2
(“POSIX.2”) compatible.
HISTORY
The basename and dirname utilities first appeared in 4.4BSD.
macOS 12.1 May 26, 2020 macOS 12.1