Manual Page Result
0
Command: basename | Section: 1 | Source: Digital UNIX | File: basename.1.gz
basename(1) General Commands Manual basename(1)
NAME
basename, dirname - Returns the base file name or directory portion of
a path name
SYNOPSIS
basename string [suffix]
dirname string
STANDARDS
Interfaces documented on this reference page conform to industry stan-
dards as follows:
basename: XPG4, XPG4-UNIX
dirname: XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about in-
dustry standards and associated tags.
OPTIONS
None
OPERANDS
A string to be evaluated. This string may be empty. A file name suf-
fix to be deleted if found. This operand applies to the basename com-
mand only, and is optional.
DESCRIPTION
The basename command reads the string specified on the command line,
deletes the portion from the beginning to the last / (slash), and
writes the base file name to standard output. If suffix is specified
on the command line and suffix appears in string, the string is re-
turned with the suffix removed.
The dirname command reads the string specified on the command line,
deletes from the last / (slash) to the end of the line, and writes the
remaining path name to standard output.
[DIGITAL] The basename and dirname commands are generally used inside
command substitutions within a shell procedure to specify an output
file name that is some variation of a specified input file name. For
more information, see the csh(1), ksh(1), and sh(1b) or sh(1p) refer-
ence pages.
The following table demonstrates the processing applied to characters
with particular meanings by the basename and dirname commands.
l l l. _ basename dirname string Result Result _
/ / / // / / /a/b b /a //a//b// b //a <null> err
msg err msg a a . "" . /a a / /a/b b /a
a/b b a _
NOTES
It is not an error if suffix is not a part of string.
EXAMPLES
To display the base file name of a shell variable, enter: basename
$WORKFILE
This displays the base file name of the value assigned to the
WORKFILE shell variable. If WORKFILE is set to /u/gabe/pro-
gram.c, then program.c is displayed. To construct, in a shell
script, a file name that is the same as another file name, ex-
cept for its suffix, enter the following command, using grave
accents: OFILE=`basename $1 .c`.o
This assigns to OFILE the value of the first positional parame-
ter ($1), but with its suffix changed to $1 is /u/jim/program.c,
then OFILE becomes program.o. Because program.o is only a base
file name, it identifies a file in the current directory.
The grave accents perform command substitution. To construct
the name of a file located in the same directory as another, en-
ter the following command, using grave accents: AOUT-
FILE=`dirname $TEXTFILE`/a.out
This sets the AOUTFILE shell variable to the name of an a.out
file that is in the same directory as TEXTFILE. If TEXTFILE is
/u/fran/prog.c, then the value of dirname $TEXTFILE is /u/fran
and AOUTFILE becomes /u/fran/a.out.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of basename
and dirname: Provides a default value for the internationalization
variables that are unset or null. If LANG is unset or null, the corre-
sponding value from the default locale is used. If any of the interna-
tionalization variables contain an invalid setting, the utility behaves
as if none of the variables had been defined. If set to a non-empty
string value, overrides the values of all the other internationaliza-
tion variables. Determines the locale for the interpretation of se-
quences of bytes of text data as characters (for example, single-byte
as opposed to multibyte characters in arguments). Determines the lo-
cale for the format and contents of diagnostic messages written to
standard error. Determines the location of message catalogues for the
processing of LC_MESSAGES.
SEE ALSO
Commands: csh(1), ksh(1), Bourne shell sh(1b), POSIX shell sh(1p)
Standards: standards(5)
basename(1)