小编Bum*_*Kim的帖子

处理 `mv` 的变量空间

假设我有一个包含以下文件/目录的目录:

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)

然后,googleapplebrowsers,但我得到:

mv: cannot stat 'mozilla': No such file or directory
mv: cannot stat 'foundation': No such file or directory
Run Code Online (Sandbox Code Playgroud)

显然,问题在于变量中的空格。处理这个问题的正确方法是什么?

当然,我相信应该有一个更优雅的单行命令来做到这一点,但我想知道我应该如何使用带有空格的变量。

bash mv

2
推荐指数
1
解决办法
1344
查看次数

标签 统计

bash ×1

mv ×1