Apple’s “POSIX Path of…” command doesn’t ‘escape’ any of the special Unix characters when it returns the path to you. This means if you try to use that file path in a shell script, it just might fail if the path contains any special characters (like a space, etc.).
This script assumes you are passing it a unix file path and escapes the special characters with a \ character.
OS version: OS X
------------------------------------------------------------------------------------------------------
-- escape_string
--
-- [Colin A. Foster <cfoster@frozenheads.com>, 2004.07.13]
------------------------------------------------------------------------------------------------------
on escape_string(input_string)
set output_string to ""
set escapable_characters to " !#^$%&*?()={}[]'`~|;<>\"\\"
repeat with chr in input_string
if (escapable_characters contains chr) then
set output_string to output_string & "\\" -- This actually adds ONE \ to the string.
else if (chr is equal to "/") then
set output_string to output_string & ":" -- Swap file system delimiters
end if
set output_string to output_string & chr
end repeat
return output_string as text
end escape_string