我正在尝试使用cp命令并强制覆盖。
我尝试过cp-rf/foo/*/bar,但仍然会提示我确认每个覆盖。
我正在尝试使用cp命令并强制覆盖。
我尝试过cp-rf/foo/*/bar,但仍然会提示我确认每个覆盖。
当前回答
对我来说最简单的方法是:
yes | cp source destination
其他回答
我只是使用unalias删除“cp-I”别名,然后进行复制,然后设置回别名。:
unalias cp
cp -f foo foo.copy
alias cp="cp -i"
不是最漂亮的代码,但易于设置和高效。我还检查了别名是否已经用简单的
alias |grep cp
另一种不使用别名调用命令的方法是使用bash中内置的命令。
命令cp-rf/zzz/zzz/*
正如其他答案所指出的,如果cp是cp-i的别名,这可能会发生。
您可以在cp命令之前附加一个\,以使用它而不使用别名。
\cp -fR source target
这可能是由于cp已经别名为类似cp-i的内容所致。直接调用cp应该可以:
/bin/cp -rf /zzz/zzz/* /xxx/xxx
另一种解决方法是使用yes命令:
yes | cp -rf /zzz/zzz/* /xxx/xxx
如果您想在全局级别保持别名不变,并且只想更改脚本。
只需使用:
别名cp=cp
然后编写后续命令。