I'm not exactly sure if this is a "right" question to post here. I'm probably asking more about "opinions" than actual categorical answers (of those that either work or don't, and that's it).
I was wondering what name separators would be the most linux friendly (or more specifically, Bash friendly) and human friendly at the same time.
Let's say I want to create a directory that contains something related to Mr. Foo Bar (Foo being the first name, Bar being the last name)
Having the name "Foo-Bar/" is very convenient. - is a "regular" character, it doesn't need to be escaped, it clearly shows that Foo and Bar are two separate things... Nice.
Now, "Foo.Bar" is a bit trickier. Someone may think that Foo.Bar is actually a file (at a first glance, specially if you don't have terminals with coloring enabled) where "Foo" is the filename, and "Bar" the extension.
I could also use "Foo Bar", but then I need to escape the whitespace when I want to access the directory and, if I want to list the contents of the parent directory (where Foo Bar is located) and put said list in a bash array, the white space is going to cause trouble (a lot). Not nice.
Brackets () also cause a lot of issues. They also need to be escaped, then to cause trouble with commands as scp... Not nice.
So... the question (at last) is: If you need to make the name of a file clear and meaningful at a fist glance, and you need to use separators, what do you use?