Spaces in Csh Paths
am 18.04.2008 05:33:10 von rodney.longhurstIs it possible to safely maintain directory names with spaces in a csh
path? This works;
set path = ( /bin /home/space\ bin )
However if a later script tries to add to it;
set path = ( $path /usr/bin )
then the real escaped space is lost, since the set command expands the
$path variable (which is an array) into a flat space-separated string,
then reconstructs it into an array. I know the env variable $PATH,
which is colon-separated, could be used instead (since the csh keeps
$path and $PATH in sync);
setenv PATH "/bin:/home/space\ bin"
setenv PATH "${PATH}:/usr/bin"
but this just shifts the problem to directory names that contain
colons (admittedly much less likely).
Is there a reliable way to set the path to ensure the current contents
are never mangled, or is this just a limitation of the csh?