我想复制一个特定的文件到一个位置,而不pipe该文件是否已经存在于目的地或不。 我试图复制通过shell脚本。但该文件不被复制。 我正在使用以下命令
/bin/cp -rf /source/file /destination
但是这不起作用。
这个问题已经被讨论过,但是你可以写一个这样的脚本:
#!/bin/bash if [ ! -d "$2" ]; then mkdir -p "$2" fi cp -R "$1" "$2"
你的问题可能是由默认的系统中创建的cp命令的别名造成的(你可以通过输入“alias”来查看你的别名)。 例如,我的系统默认具有以下alis:alias cp ='cp -i',其中-i覆盖-f选项,即cp将始终提示进行覆盖确认。
在这种情况下,你需要什么(即使你没有别名也能工作)是给那个确认提供“是”。 要做到这一点,只需修改您的cp命令看起来像这样:
是| cp / source / file / destination
使用
cp -fr /source/file /destination
这应该可能解决问题。
/ bin / cp -rf src dst或/ usr / bin / env cp -rf