How do I get a parent directory for a file?
I want it to be safe on all kind of names:
.
..
path/to/my/file
/absolute/path/to/my/file
'-rf --no-preserve-root whatever'/test.zip
(symbolic links)
`'"`'{(})
I am more interested getting the canonical location on the file system than in traversing the path stated in the filename.
Note that there are similar questions to this one, but none of them focuses on correctness, relative/absolute paths and "unsafe" names:
[1] bash get the parent directory of current directory
[2] Retrieve parent directory of script
[3] bash filepath to parent directory of file
See Question&Answers more detail:os