我想将某个文件复制到某个位置,而不管目标中是否存在该文件。我试图通过shell脚本复制,但该文件没有被复制。我使用下面的命令复制并覆盖shell脚本中的文件
/bin/cp -rf /source/file /destination
,但不起作用。
我想将某个文件复制到某个位置,而不管目标中是否存在该文件。我试图通过shell脚本复制,但该文件没有被复制。我使用下面的命令复制并覆盖shell脚本中的文件
/bin/cp -rf /source/file /destination
,但不起作用。
这个问题已经讨论过,但是你可以写这样的小脚本:
#!/bin/bash
if [ ! -d "$2" ]; then
mkdir -p "$2"
fi
cp -R "$1" "$2"
使用
cp -fr /source/file /destination
这也许应该解决的问题。
您的问题可能是由默认情况下在系统中创建的cp命令的别名引起的(您可以通过键入“别名”来查看别名)。 例如,我的系统默认具有以下alis:alias cp ='cp -i',其中-i覆盖-f选项,即cp将始终提示您进行覆盖确认。
你在这种情况下需要什么(即使你没有别名,它也会工作)是向该确认提供“是”。要做到这一点,只需修改您的cp命令,看起来像这样:
yes | CP /源/文件/目的
完美,谢谢你的支持! –
也许你应该试着--remove目的地 – jDourlens
'cp'覆盖目标除非给出选项“-n”,所以你的命令应该成功。你也没有告诉我们为什么你认为你的命令失败了。 – scai
是否有任何错误消息? –