From Wikipedia, the free encyclopedia
Jump to: navigation, search

dirname is a standard UNIX computer program. When dirname is given a pathname, it will delete any suffix beginning with the last slash ('/') character and return the result. dirname is described in the Single UNIX Specification and is primarily used in shell scripts.


The Single UNIX Specification specification for dirname is.

 dirname NAME

For example:

 $ dirname /usr/home/carpetsmoker/dirname.wiki


Since dirname accepts only one operand, its usage within the inner loop of shell scripts can be detrimental to performance. Consider

 while read file; do
         dirname "$file"
 done < some-input

The above excerpt would cause a separate process invocation for each line of input. For this reason, shell substitution is typically used instead

 echo "${file%/*}";

See also[edit]

External links[edit]