在shell脚本中复制并覆盖文件

Alw*_*ner 10 linux shell copy

我想将某个文件复制到某个位置,而不管目标中是否存在该文件.我正在尝试复制shell脚本.但是文件没有被复制.我正在使用以下命令

/bin/cp -rf /source/file /destination

但这不起作用.

小智 13

您的问题可能是由默认情况下在系统中创建的cp命令的别名引起的(您可以通过键入"alias"来查看别名).例如,我的系统默认具有以下alis:alias cp ='cp -i',其中-i覆盖-f选项,即cp将始终提示覆盖确认.

在这种情况下你需要的东西(即使你没有别名也能实际工作)就是给那个确认提供"是".要做到这一点,只需修改您的cp命令,如下所示:

是的| cp/source/file/destination


Luc*_*nzo 10

这个问题已经讨论过,但你可以写一个像这样的小脚本:

#!/bin/bash
if [ ! -d "$2" ]; then
  mkdir -p "$2"
fi
cp -R "$1" "$2"
Run Code Online (Sandbox Code Playgroud)


Mau*_*zey 10

使用

cp -fr /source/file /destination
Run Code Online (Sandbox Code Playgroud)

这应该可能解决问题.