Using variable with cp in bash
bash, cp, linux, variables
Solution
You don't need to add the quotes like that (in fact, it probably won't work). Instead, just use them in the `cp` line:
CF=$(ls -tr /mypath/CHS1*.xlsx | tail -1)
cp "$CF" "/mydest/myfile.xlsx"
I changed it from using backticks to the newer (and preferred) `$()` syntax.
Problem
The file returned will have spaces in the file name so I run the file name through sed to append quotes at the beginning and end. However, when I use $CF with cp it fails. If I manually echo $CF and use the resulting file in place of $CF it works just fine. What's the problem? ``` CF=`ls -tr /mypath/CHS1*.xlsx | tail -1 | sed -e 's/^/"/g' -e 's/$/"/g'` cp $CF "/mydest/myfile.xlsx" ```