BASENAME(1)
basename, dirname − extract portions of path names
SYNOPSIS
basename string [ suffix ]
dirname string
HP-UX COMPATIBILITY
Level: HP-UX/NUCLEUS
Origin: System V
Native Language Support:
8−bit filenames.
DESCRIPTION
Basename deletes any prefix ending in / and the suffix (if present in string) from string, and prints the result on the standard output. It is normally used inside command substitution marks (`...`) within shell procedures. If string does not contain the indicated suffix, basename returns an unpredictable value consisting either of a single character string, or the null string.
Dirname delivers all but the last level of the path name in string. If string is null or does not contain a directory component, dirname returns ".", indicating the current working directory.
EXAMPLES
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:
cc $1
mv a.out ‘basename $1 .c‘
The following example will set the shell variable NAME to /usr/src/cmd:
NAME=‘dirname /usr/src/cmd/cat.c‘
RETURN VALUE
Both commands return 0 for success, 1 for failure. Dirname always succeeds, and thus always returns 0.
SEE ALSO
BUGS
When using basename, be aware that suffixes are not guaranteed to occur at the end of the string. Thus,
basename file.c.old .c
returns "file".
Hewlett-Packard — last mod. May 11, 2021