我有以下文件:
~/tmp/testbash$ l
file 1.test move.sh*
move.sh
是:
#!/bin/bash
#-x
FILENAME='file\ .test'
echo $FILENAME
echo joo
mv $FILENAME test.test
当我运行 ./move.sh
时,我得到了这个输出和错误:
file\ .test
joo
mv: target `test.test' is not a directory
问题是它执行的命令是:
mv file .test test.test
而不是:
mv file\ .test test.test
我该如何解决这个问题?
最佳答案
如果变量包含嵌入空格,则用双引号 (") 将变量括起来。
FILENAME='file .test'
mv "$FILENAME" test.test
关于bash - 如何使用包含空格的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10847127/