login
Sat 25 of Nov, 2017 (05:30 UTC)

[root@madeira.eng.br ~]#

Linux - It is now safe to turn on your computer

atualizar cache imprimir

O Comando Yes

Criada por: Frederico Madeira, última modificação em: Sat 27 of Dec, 2008 (02:27 UTC)
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 sobrescreve-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 irá retornar y.

Por exemplo:

[fred_m@localhost ~]$ yes


Irá retornar seqüências de y.

[fred_m@localhost ~]$ yes n


Irá retornar seqüências de n

Desta forma, se quisermos o equialente ao yes to all, podemos usar o seguinte comando:

[fred_m@localhost ~]$ yes  | cp  -R   /dir1   /dir2


ou ainda se quisermos no to all

[fred_m@localhost ~]$ yes n  | cp  -R   /dir1   /dir2


Abraços,

Frederico Madeira

Comentários