bashdirectorydirname

Getting the parent of a directory in Bash


If I have a file path such as...

/home/smith/Desktop/Test
/home/smith/Desktop/Test/

How do I change the string so it will be the parent directory?

e.g.

/home/smith/Desktop
/home/smith/Desktop/

Solution

  • dir=/home/smith/Desktop/Test
    parentdir="$(dirname "$dir")"
    

    Works if there is a trailing slash, too.