BASENAME(1) User Commands BASENAME(1)

NAME


basename, dirname - deliver portions of path names

SYNOPSIS


/usr/bin/basename string [suffix]


/usr/xpg4/bin/basename string [suffix]


dirname string


DESCRIPTION


The basename utility 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 substitution marks (``) within shell
procedures.

/usr/bin
The suffix is a pattern defined on the expr(1) manual page.

/usr/xpg4/bin
The suffix is a string with no special significance attached to any of
the characters it contains.


The dirname utility delivers all but the last level of the path name in
string.

EXAMPLES


Example 1: Setting environment variables




The following example, invoked with the argument /home/sms/personal/mail
sets the environment variable NAME to the file named mail and the
environment variable MYMAILPATH to the string /home/sms/personal:


example% NAME=`basename $HOME/personal/mail`
example% MYMAILPATH=`dirname $HOME/personal/mail`


Example 2: Compiling a file and moving the output




This shell procedure, invoked with the argument /usr/src/bin/cat.c,
compiles the named file and moves the output to cat in the current
directory:


example% cc $1
example% mv a.out `basename $1 .c`


ENVIRONMENT VARIABLES


See environ(7) for descriptions of the following environment variables
that affect the execution of basename and dirname: LANG, LC_ALL,
LC_CTYPE, LC_MESSAGES, and NLSPATH.

EXIT STATUS


The following exit values are returned:

0
Successful completion.


>0
An error occurred.


SEE ALSO


expr(1), basename(3C), attributes(7), environ(7), standards(7)

March 18, 1997 BASENAME(1)