yes (Unix)
yes è un comando Unix che stampa una risposta affermativa, o una stringa di testo definita dall'utente, finché non viene interrotto.
Descrizione
Il comando yes stampa ripetutamente la lettera "y", o l'eventuale stringa di testo passata come parametro, seguito da un ritorno a capo, finché non viene fermato dall'utente o ucciso in altro modo. Se rediretto su un altro comando continua finché la pipe non viene interrotta (e quindi quando l'esecuzione del programma è completata).
Può anche essere usato per testare il comportamento di un sistema sotto carico, in quanto yes, sui sistemi monoprocessore, usa il 100% della CPU (nei sistemi multiprocessore per ottenere lo stesso risultato è necessario lanciare un processo per ogni CPU).
Uso
Alcuni programmi Unix a riga di comando per procedere chiedono all'utente di rispondere di sì con una y. Nel suo uso più classico, yes permette di utilizzare tali programmi in maniera non interattiva, dandogli automaticamente una risposta affermativa (o negativa, usando yes n).
This usage may be obsolete today, as most commands that would request response from the user have either a 'force' option (e.g., rm -f) or an 'assume-yes' option (e.g., apt-get -y).
Ad esempio, il seguente comando:
rm -f *.txt
è funzionalmente equivalente a:
yes | rm *.txt
Assieme al comando head, yes può essere usato per generare file voluminosi a scopo di test. Ad esempio, l'esecuzione di:
yes 1234567 | head -1000 > file
produce un file di 1000 righe, ognuna delle quali formata da otto caratteri (1, 2, 3, 4, 5, 6, 7 e un ritorno a capo).
Note
Further reading
- Montfort, Nick (January 2012). The Trivial Program “yes” (PDF) (Technical report). Cambridge, Massachusetts: Trope Tank. 12-01. Retrieved 2013-04-26.
Collegamenti esterni
- Manpage for yes (GNU version)