为Linux STDIN添加递归命令

时间:2014-04-14 13:22:05

标签: linux unix

将内容从一个文件夹移动/复制到另一个文件夹时。我被问到是否要覆盖共享相同名称的文件。如下例所示:

[root@public/]# sudo mv * /var/www/public/html/

例如,如果publichtml中有100个文件,则会询问我是否要按名称100次覆盖每个文件。有没有办法附加y命令?

我是linux新手。我知道我们可以STDIN,STDOUT和STDERR。我虽然可以附加像< "echo y";这样的东西,但它不起作用。

2 个答案:

答案 0 :(得分:3)

基本上,您可以将程序yes用于此目的:

yes | mv ...
没有任何参数调用的

yes重复字符串&#34; y&#34;永远,但如果你通过一个论证,它将输出参数。这导致了很好的电话

yes no | program

可以用来反复说'#34; no&#34; :)

但是,在这种情况下,mv本身具有选项-f,可以压制问题并执行操作。但我会谨慎使用它,因为问题可以帮助您防止数据丢失。

答案 1 :(得分:1)

您的解决方案似乎只是一种解决方法。您应该使用mv -f来禁用提示。