basename(1)


basename -- remove directory part of pathname

Synopsis

basename string [suffix]

dirname string

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 substitution marks (` `) within shell procedures. The suffix is a pattern as defined on the ed(1) manual page. Trailing slashes are stripped. Several degenerate cases should be mentioned. basename / returns / (a single slash), while basename invoked with an empty string, `` '', or with no string at all, returns ``.'' (a single dot).

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

The LC_CTYPE environment variable defines the codesets used in the pathname (see LANG on environ(5)).

Examples

The following example, invoked with the string /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.
   NAME=`basename $HOME/personal/mail`
   MYMAILPATH=`dirname $HOME/personal/mail`

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:

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

Files


/usr/lib/locale/locale/LC_MESSAGES/uxcore
language-specific message file (see LANG on environ(5)).

References

ed(1), sh(1)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004