basename, dirname - extract portions of path names
basename string [suffix]
basename deletes any prefix ending in / and the suffix (if present in
string) from string, and prints the result on the standard output. If
string consists entirely of slash characters, string is set to a
single slash character. If there are any trailing slash characters in
string, they are removed. If the suffix operand is present but not
identical to the characters remaining in string, but it is identical
to a suffix of the characters remaining in string, the suffix is
removed from string. basename is normally used inside command
substitution marks (`...`) within shell procedures.
dirname delivers all but the last level of the path name in string.
If string does not contain a directory component, dirname returns .,
indicating the current working directory.
LC_CTYPE determines the interpretation of string and, in the case of
basename, suffix as single and/or multi-byte characters.
If LC_CTYPE is not specified in the environment or is set to the empty
string, the value of LANG is used as a default for each unspecified or
empty variable. If LANG is not specified or is set to the empty
string, a default of "C" (see lang(5)) is used instead of LANG. If
any internationalization variable contains an invalid setting,
basename and dirname behave as if all internationalization variables
are set to "C". See environ(5).
International Code Set Support
Single- and multi-byte character code sets are supported.
The following shell script, invoked with the argument
/usr/src/cmd/cat.c, compiles the named file and moves the output to a
file named cat in the current directory:
mv a.out `basename $1 .c`
The following example sets the shell variable NAME to /usr/src/cmd:
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
basename and dirname return one of the following values:
0 Successful completion.
1 Incorrect number of command-line arguments.
basename: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2
dirname: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000