O que é o comando “yes”?

26

Eu emiti um comando no terminal do Ubuntu que exigia que eu digitasse sim, mas descobri que ele só me pergunta pela primeira vez, mas eu já tinha pressionado enter antes de me dar conta. Então, eu esperava uma mensagem "comando não encontrado", mas em vez disso, recebi um fluxo interminável de "y" s. Esta parece ser a única coisa que isso faz, então estou me perguntando qual é o sentido desse comando e por que ele gera "y" s? (Ubuntu 11.10)

    
por Greg Treleaven 24.10.2011 / 19:56

4 respostas

13

Em wikipedia :

  

Por si só, o comando yes produz 'y' ou o que for especificado como um argumento, seguido por uma nova linha repetidamente até ser parado pelo usuário ou ser morto; quando canalizado em um comando, continuará até que o tubo quebre (isto é, o programa conclua sua execução).

     

Ele também pode ser usado para testar o quanto um sistema manipula altas cargas, pois o uso de yes resulta em 100% de uso do processador, para sistemas com um único processador (para um sistema multiprocessador, um processo deve ser executado para cada processador). Isso, por exemplo, pode ser útil para investigar se o sistema de resfriamento de um sistema será eficaz quando o processador estiver funcionando a 100%.

    
por DavidEG 24.10.2011 / 20:03
27

Há muito tempo (SySV days e anteriores), o comando fsck não tinha as opções -y ou -n . O comando pediria interativamente que você alterasse centenas ou milhares de itens, esperando um 'y' ou 'n'. O comando yes foi criado para canalizar para o fsck, e alguns outros programas para serem capazes de responder repetidamente às perguntas interativas (mais uma vez, foram os dias do SysV, muito antes do Tcl e Expect). O programa yes se encaixa muito bem com a filosofia do UNIX: pequenos programas que fazem coisas específicas muito bem e funcionam com outros programas.

    
por Arcege 25.10.2011 / 00:48
4

Com base nas informações fornecidas aqui: link

  

Comando Linux / Unix: sim

     

Biblioteca de Comandos

     

NAME

     

yes - imprime uma string repetidamente até ser morta

     

SINOPSE

     

sim [STRING] ... sim OPÇÃO

     

DESCRIÇÃO

     

Exiba repetidamente uma linha com todos os STRING (s) especificados, ou 'y'.

     

- ajuda para exibir essa ajuda e sair   --versão de versão de saída de informação e saída
VEJA TAMBÉM

     

A documentação completa do yes é mantida como um manual do Texinfo. E se   os programas info e yes estão instalados corretamente em seu site, o   comando

info yes
     

deve lhe dar acesso ao manual completo.

Na minha humilde opinião, o uso de um comando "sim" soa lógico quando você tem que autorizar repetidamente algo em um processo / script pressionando a tecla "y". Que pode ser controlado cancelando a execução do programa.

De qualquer forma, alguém pode ter experiência com esse comando.

    
por Geppettvs D'Constanzo 24.10.2011 / 20:07
1

O comando yes irá imprimir seu argumento, ou "y" se estiver vazio, até que você termine o programa ou seu canal de saída seja fechado. Pode ser usado com programas que esperam alguma entrada repetida, como rm -i.

    
por daniel kullmann 24.10.2011 / 20:13