Extract directory from path [duplicate]
Using ${file%/*}
like suggested by Urvin/LuFFy is technically better since you won't rely on an external command. To get the basename in the same way you could do ${file##*/}
. It's unnecessary to use an external command unless you need to.
file="/stuff/backup/file.zip"filename=${1##*/} # file.zipdirectory=${1%/*} # /stuff/backup
It would also be fully POSIX compliant this way. Hope it helps! :-)