How can I use a variable that contains a space?
bash
Solution
Use double quotes if you have spaces inside a variable value:
FILENAME='file\ .test'
echo "$FILENAME"
echo joo
mv "$FILENAME" test.test
Problem
I have the following files: ``` ~/tmp/testbash$ l file 1.test move.sh* ``` where `move.sh` is: ``` #!/bin/bash #-x FILENAME='file\ .test' echo $FILENAME echo joo mv $FILENAME test.test ``` When I run `./move.sh`, I get this output and error: ``` file\ .test joo mv: target `test.test' is not a directory ``` The problem is that it executes the command as: ``` mv file .test test.test ``` and not as: ``` mv file\ .test test.test ``` How can I fix this?