unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



basename(1)							  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 standards
  as follows:

  basename: XCU5.0

  dirname:  XCU5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

OPTIONS

  None

OPERANDS

  string
      A	string to be evaluated.	 This string may be empty.

  [suffix]
      A	file name suffix to be deleted if found.  This operand applies to the
      basename command 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	com-
  mand line and	suffix appears in string, the string is	returned 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.

  [Tru64 UNIX]	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) reference pages.

  The following	table demonstrates the processing applied to characters	with
  particular meanings by the basename and dirname commands.




  _____________________________
	     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

   1.  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/program.c, then
       program.c is displayed.

   2.  To construct, in	a shell	script,	a file name that is the	same as
       another file name, except 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 parameter
       ($1), but with its .c suffix changed to .o.  If $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.

   3.  To construct the	name of	a file located in the same directory as
       another,	enter the following command, using grave accents:
	    AOUTFILE=`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:

  LANG
      Provides a default value for the internationalization variables that
      are unset	or null. If LANG is unset or null, the corresponding value
      from the default locale is used.	If any of the internationalization
      variables	contain	an invalid setting, the	utility	behaves	as if none of
      the variables had	been defined.

  LC_ALL
      If set to	a non-empty string value, overrides the	values of all the
      other internationalization variables.

  LC_CTYPE
      Determines the locale for	the interpretation of sequences	of bytes of
      text data	as characters (for example, single-byte	as opposed to multi-
      byte characters in arguments).

  LC_MESSAGES
      Determines the locale for	the format and contents	of diagnostic mes-
      sages written to standard	error.

  NLSPATH
      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)