Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ basename(1) — HP-UX 5.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

expr(1)

sh(1)

BASENAME(1)

basename, dirname − extract portions of path names

SYNOPSIS

basename string [ suffix ]
dirname string

HP-UX COMPATIBILITY

Level: HP-UX/NUCLEUS

Origin: System V

Native Language Support:
8−bit filenames.

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 command substitution marks (`...`) within shell procedures.  If string does not contain the indicated suffix, basename returns an unpredictable value consisting either of a single character string, or the null string. 

Dirname delivers all but the last level of the path name in string. If string is null or does not contain a directory component, dirname returns ".", indicating the current working directory. 

EXAMPLES

The following shell script, invoked with the argument /usr/src/cmd/cat.c, compiles the named file and moves the output to a file named cat in the current directory:

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

The following example will set the shell variable NAME to /usr/src/cmd:

NAME=‘dirname /usr/src/cmd/cat.c‘

RETURN VALUE

Both commands return 0 for success, 1 for failure.  Dirname always succeeds, and thus always returns 0. 

SEE ALSO

expr(1), sh(1). 

BUGS

When using basename, be aware that suffixes are not guaranteed to occur at the end of the string.  Thus,

basename file.c.old .c

returns "file". 

Hewlett-Packard  —  last mod. May 11, 2021

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026