possível duplicata de Qual é o objetivo do comando `yes`? ... (Sinalizando isso como duplicado porque a outra pergunta mais recente é melhor solicitada e melhor respondida).
yes pode ser usado para enviar uma resposta afirmativa (ou negativa; por exemplo, yes n) a qualquer comando que, de outra forma, solicitaria um, fazendo com que o comando fosse executado de maneira não interativa.
O comando yes em conjunto com o comando head pode ser usado para gerar arquivos de grande volume para meios de teste.
Também pode ser usado para testar como um sistema lida com 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%.
Em 2006, o comando yes recebeu publicidade por ser um meio de testar se o MacBook de um usuário é ou não afetado pela Síndrome de Desligamento Intermitente. Ao executar o comando yes duas vezes via Terminal no Mac OS X, os usuários conseguiram maximizar a CPU do computador e, assim, ver se a falha estava relacionada ao calor
Oh, isso é um bom teste de estresse. tentei, então corri para o meu colega pedindo um novo vm xD
Toastgeraet 04/07
17
Essa pode ser uma opinião controversa, mas, na minha opinião , é uma correção feia para uma interface de usuário ruim em ferramentas de linha de comando .
Algumas ferramentas de linha de comando fazem perguntas ao usuário com um prompt e não têm a opção de executar de maneira não interativa; imagine, por exemplo, algo como
$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...
Como a resposta à pergunta é extraída da entrada padrão, uma solução rápida para esse problema é ter um aplicativo que gera a string y\ncontinuamente, e é exatamente yesisso que faz. Unix tubos pode ser usado para enviar esta saída como uma entrada para um determinado comando.
$ yes | frobnicate
Um dos problemas dessa abordagem é que yesnão há possibilidade de verificar a pergunta para a qual está respondendo:
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
format device /dev/sda1? (y/n) y
frobnicate file c.txt? (y/n) y
Uma solução melhor, quando disponível, é uma opção específica para executar de maneira não interativa, como rm -fou apt-get -y. Isso permite codificar um comportamento mais sensível no aplicativo.
Eu li todas as outras respostas. Concordo com o seu completamente wrt correção feio ... embora não têm um uso válido para testar a resposta do computador para altas cargas de CPU.
Curinga
6
Obviamente, você pode usar o software proprietário "Microsoft Windows" para testar a resposta do computador a altas cargas de CPU, mas "sim" é de código aberto.
Wildcard
1
É uma das mais belas correções feias embora
Jezzamon
4
Eu gosto de usar yesquando estou descompactando vários arquivos .zip que contêm o mesmo arquivo com o mesmo nome e me perguntam o que fazer em cada caso (por exemplo, um contrato de licença).
Acabei de encontrar outro uso para ele: gostava de limpar um disco rígido com um padrão diferente de apenas zeros (como: dd se = / dev / zero de = / dev / sdd bs = 1M) e usou 'yes' para isso:
passwdsolicitará a senha antiga primeiro, se o usuário não for root ou um superusuário e não continuará, a menos que a senha correta seja digitada. Portanto, o usuário é root ou também passwordé a senha antiga e nada é alterado.
Michael Konietzka
@MichaelKonietzka de fato. Mas com as condições que você mencionou, ainda é um caso de uso útil.
Frogstarr78
3
Exceto que isso persistiria na história em texto simples. Crazeyyy.
Respostas:
via wikipedia: http://en.wikipedia.org/wiki/Yes_(Unix)
fonte
yes `yes yes`
Essa pode ser uma opinião controversa, mas, na minha opinião , é uma correção feia para uma interface de usuário ruim em ferramentas de linha de comando .
Algumas ferramentas de linha de comando fazem perguntas ao usuário com um prompt e não têm a opção de executar de maneira não interativa; imagine, por exemplo, algo como
Como a resposta à pergunta é extraída da entrada padrão, uma solução rápida para esse problema é ter um aplicativo que gera a string
y\n
continuamente, e é exatamenteyes
isso que faz. Unix tubos pode ser usado para enviar esta saída como uma entrada para um determinado comando.Um dos problemas dessa abordagem é que
yes
não há possibilidade de verificar a pergunta para a qual está respondendo:Uma solução melhor, quando disponível, é uma opção específica para executar de maneira não interativa, como
rm -f
ouapt-get -y
. Isso permite codificar um comportamento mais sensível no aplicativo.fonte
Eu gosto de usar
yes
quando estou descompactando vários arquivos .zip que contêm o mesmo arquivo com o mesmo nome e me perguntam o que fazer em cada caso (por exemplo, um contrato de licença).fonte
Acabei de encontrar outro uso para ele: gostava de limpar um disco rígido com um padrão diferente de apenas zeros (como: dd se = / dev / zero de = / dev / sdd bs = 1M) e usou 'yes' para isso:
yes UUUUUUUUUUUUU > /dev/sdd
fonte
Um colega de trabalho usou isso de uma maneira nova para inserir uma senha
fonte
passwd
solicitará a senha antiga primeiro, se o usuário não for root ou um superusuário e não continuará, a menos que a senha correta seja digitada. Portanto, o usuário é root ou tambémpassword
é a senha antiga e nada é alterado.ps
outop
no momento certo).