Say I have several variables in a shell script (e.g. in zsh):
FOLDER_1, FOLDER_2, etc.
These variables refer to folders descending from
/. For example, if I have a path
the variables would be:
FOLDER_1='home' FOLDER_2='me' FOLDER_3='stuff'
Now, say that I want to build back the corresponding path by concatenating the variables. One possible way is to build the path as follows:
However, say that some of the variables
FOLDER_i come with trailing forward slashes, while others don't (and we don't know which) e.g.
FOLDER_1='home' FOLDER_2='stuff/' FOLDER_3='items'
My question is: How could I build the path robustly? (e.g. avoiding double slashes, and adding them where they need to be).
I thought one way to do this is to add the
/ always between pairs of variables, and then delete any duplicates with
sed, but I can't make it to work (I am not sure I am handling
/ correctly in
Also, am I reinventing the wheel? (i.e. is there any built-in that does this already?).
Finallly, if the variables are in an array, e.g.
FOLDERS, would it be possible to do this without looping? (or alternatively, by looping but without knowing how many
FOLDERS there are in the array).