I have the following function inside a BASH script (running under Ubuntu 12.x), which would copy over a file with spaces inside the file name. It's not working. I've tried many different combinations, with "', with \", etc. How do I get this to work? Thanks!
function copy_docs()
{
source_directory=/mnt/someplace
release_directory=/doc/someotherplace
cp ${source_directory}/"Some file with spaces.txt" ${release_directory}/
}
This is what I'm getting as output (from nearly all permutations):
cp: cannot stat `/mnt/someplace/some': No such file or directory
cp: cannot stat `file': No such file or directory
cp: cannot stat `with': No such file or directory
cp: cannot stat `spaces': No such file or directory
cp ${source_directory}/"Some\ file\ with\ spaces.txt" ${release_directory}/
– Ramesh Aug 19 '14 at 17:49It separates the file into 4 different files, attempting to copy four files (i.e. "Some", "file", "with", "spaces").
– Chris Galas Aug 19 '14 at 17:58set -x; copy_docs; set +x
– glenn jackman Aug 19 '14 at 18:14cp: cannot stat /mnt/someplace/some: No such file or directory
does not match the file name in yourcp
statement."Some file with spaces.txt"
is not the same as"some file with spaces.txt"
which is what your output suggests you are attempting to copy. – Timothy Martin Aug 19 '14 at 18:43