Yes (Unix)

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.

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 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).

Note

  1. ^ (EN) yes: Print a string until interrupted in info coreutils
  2. ^ a b (EN) rm su The Single UNIX Specification, Version 2

Collegamenti esterni