假设我有一个包含以下文件/目录的目录:
google
apple
mozilla foundation # a file with spaces
browsers
Run Code Online (Sandbox Code Playgroud)
所以我想将文件移动到browsers目录中。这是我写的一个脚本:
for d in $(ls); do
if ! [ "$d" == "browsers" ]; then
mv "$d" "browsers"
fi
done
Run Code Online (Sandbox Code Playgroud)
然后,google和apple去browsers,但我得到:
mv: cannot stat 'mozilla': No such file or directory
mv: cannot stat 'foundation': No such file or directory
Run Code Online (Sandbox Code Playgroud)
显然,问题在于变量中的空格。处理这个问题的正确方法是什么?
当然,我相信应该有一个更优雅的单行命令来做到这一点,但我想知道我应该如何使用带有空格的变量。