我需要在 Ubuntu Hardy 系统上安装的一个软件有一个包含命令的 Makefile cp -n
。
但是,我收到一条错误消息,指出这-n
是一个无效选项。
该命令可以在 Mac 终端上运行,但我需要它在 Ubuntu 上运行。
有人知道 Ubuntu 的等效命令吗?
答案1
在 FreeBSD 中(它在很多方面都像 Mac OS X),该选项的-n
意思是“不覆盖现有文件”。我认为在 ubuntu 中,你可以使用标志-u
,表示只有当目标比源旧或目标缺失时才更新该副本。
答案2
该-n
标志表示“不覆盖”(复制时不替换现有文件)。您可以使用cp -i
它来cp
询问是否应覆盖文件。
答案3
cp
GNU coreutils 7.6 中当然有这个-n
选项。用来cp --version
验证正在使用的 cp 版本。
答案4
请注意,如果您在自动构建脚本中使用 cp,则 bash 重写将简单地为:
cp -n src dest
到
if [ ! -e dest ]; then
cp -f src dest
fi