仅将目录的内容复制到另一个目录中

时间:2014-08-12 12:12:11

标签: bash copy

我希望我的bash脚本将foo目录中的文件复制到baz目录中。

当我在终端中运行此命令时,它达到了我的期望:

cp -r /foo/. /baz

但是当我将其保存为bash脚本时:

#!/bin/bash
cp -r /foo/. /baz

并运行:

./script.sh

然后它意外地将foo目录本身复制到baz(而不仅仅是foo中的文件)。

我做错了什么?为什么会这样?如何修复bash脚本?

修改 - 糟糕的问题。我没有注意到我运行了我的脚本的旧版本。一切都按预期工作。答案仍然帮助我提供替代解决方案。

2 个答案:

答案 0 :(得分:1)

将脚本内容更改为:

#!/bin/bash
cp -r /foo/* /baz

说实话,我不确定你为什么遇到这个问题。这对我来说可以。尽管如此,星号似乎更合适。你在运行哪个操作系统?

答案 1 :(得分:1)

请改用rsync。它不会复制父目录:

rsync -r /foo /baz