我知道使用 -f cp 应该会保持沉默,但事实并非如此!我知道
cp -rf Functional Functionalssssssss
如果 Functional 不存在,它会说无法统计“Functional”... 但我只是不想看到错误消息!!我想自己处理它们
答案1
输出cannot stat...
实际上是发送到stderr
,而不是stdout
。对于您在问题中提供的具体示例,以下内容将通过重定向到stderr
来抑制错误输出/dev/null
:
cp -rf Functional Functionalssssssss 2>/dev/null
另外,至少对于cp
我的 Debian Linux 服务器上的版本来说,-f
它不是一个通用的“静默”标志。相反,它是的同义词--force
,这意味着它将cp
在复制之前静默地删除任何现有的目标文件。
答案2
如果您使用 bash 或 sh(posix 标准),[ -f file ] && cp file target
这就是您想要的。
这个命令会检查文件是否存在并复制它。告别错误。