Go to main content

man pages section 1: User Commands

Exit Print View

Updated: July 2017
 
 

dirname(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(5) 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.

Attributes

See attributes(5) for descriptions of the following attributes:

/usr/bin

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/core-os

/usr/xpg4/bin

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/xopen/xcu4
Interface Stability
Committed
Standard

See Also

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