In questo articolo verrà affrontato il tema Yes (Unix) da una prospettiva ampia e dettagliata. Verrà analizzato l'impatto che Yes (Unix) ha sulla società attuale, nonché la sua rilevanza storica e la sua influenza in vari ambiti. Inoltre verranno discussi diversi punti di vista e verranno presentati argomenti a favore e contro Yes (Unix), in modo da offrire una visione equilibrata e completa su questo argomento. Inoltre, verranno esplorate le implicazioni future di Yes (Unix) e le possibili strategie per affrontarlo in modo efficace. Questo articolo cerca di fornire ai lettori una comprensione profonda e arricchente di Yes (Unix), consentendo loro di formarsi le proprie opinioni e partecipare a un dibattito informato su questo argomento.
yes è un comando Unix che stampa una risposta affermativa, o una stringa di testo definita dall'utente, finché non viene interrotto. Il comando fa parte delle GNU Core Utilities[1], ma non è incluso nella Single UNIX Specification.
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).
Alcuni programmi Unix se invocati da riga di comando per procedere chiedono all'utente di rispondere di sì con una y (o di no, con una n).[2] 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).
Questo spesso oggi non è più necessario, in quanto molti comandi che richiedono risposte dall'utente prevedono alternativamente un'opzione force (come rm -f)[2] o hanno un'opzione assume-yes (come 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).