O
yes é um programa que é instalado pelo pacote
coreutils e sua função é retornar repetidamente um caractere ou ainda uma expressão de forma repetida até que o processo seja morto.
Você já tentou copiar/mover milhares de arquivos de uma pasta para outra onde na pasta de destino já existam uma parte destes arquivos? Pois é, ao tentar fazer isso, ele irá perguntar se você deseja sobrescrevê-lo. Procurei vários argumentos dos comandos cp e mv e não encontrei uma forma de usar o yes to all (sim para todos).
Para minha sorte o
Linux traz uma solução muito criativa que pode ser usada para este e para outros casos, é o comando yes.
Este comando foi criado para repetir caracteres ou expressões repetidamente até que seja morto. Se utilizado sem nenhuma expressão, ele retornará y.
Por exemplo:
yes
Retornará seqüências de y.
yes n
Retornará seqüências de n.
Desta forma, se quisermos o equivalente ao yes to all, podemos usar o seguinte comando:
yes | cp -R /dir1 /dir2
ou ainda se quisermos no to all:
yes n | cp -R /dir1 /dir2
Abraços.
Frederico Madeira
www.madeira.eng.br