Should a directory path variable end with a trailing slash?
When defining a path to a directory as a variable or constant, should it end with a trailing slash? What is the convention?
pwd
in Unix shows your current directory without a trailing slash, while the tab complete of cd /var/www/apps/
includes the trailing slash, which left me unsure.
I go with the trailing slash because:
-
"If it ends with a slash, it's a directory. If not, it's a file." is an easy convention to remember.
-
At least on the operating systems I commonly use, doubling the slash causes no problems, while omitting the slash causes big ones. It is, therefore, safest to both put the slash into the variable and use
"$path/$file"
when making use of it.
I don't include the trailing slash when I, for example, define a directory for storing files. That is because I will use it like
$store_file = "$store_path/$file_id";
I will always add a trailing slash before using a variable that's supposed to hold a directory path. I think it's better to always add one than to wonder if the trailing slash is included.