yes (Unix)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

yes jest Uniksową komendą, która zwraca twierdzącą odpowiedź lub podany w argumencie ciąg znaków. Robi to ciągle aż do zakończenia procesu.

Opis[edytuj | edytuj kod]

Komenda yes zwraca 'y' lub dowolny ciąg znaków podany jako argument, dopóki nie zostanie zatrzymana przez użytkownika lub zabita. Komenda po każdym zwróconym ciągu znaków dodaje znak końca linii. Kiedy zostanie przekierowana jako część strumienia będzie pracować dopóki strumień nie zostanie zakończony.

Omawiana komenda może być także użyta do testowania jak system radzi sobie z wysokimi obciążeniami – używanie yes skutkuje 100% zużyciem procesora dla systemów jednordzeniowych (dla systemów wielordzeniowych, trzeba by uruchomić odpowiedni proces na każdym rdzeniu). To może być przydatne przy sprawdzaniu czy chłodzenie komputera będzie wystarczające gdy procesor będzie pracował ze 100% obciążeniem.

Użycie[edytuj | edytuj kod]

yes może być użyte do wysyłania twierdzącej (lub przeczącej; yes n) odpowiedzi do każdego polecenia które będzie takowej wymagało, powodując, że do działania nie jest potrzebna interakcja z użytkownikiem.

Takie zastosowanie może być przestarzałe w dzisiejszych czasach, ponieważ większość poleceń które mogłyby wymagać odpowiedzi od użytkownika posiada albo opcje 'wymuś' (np. rm -f) albo opcje 'przyjmij-tak' (np. apt-get -y).

Dla przykładu następujący kod:

rm -f *.txt

jest odpowiednikiem:

yes | rm *.txt

Ostatnio polecenie yes zyskało rozgłos jako środek do sprawdzenia czy użytkownicy MacBook'a są narażeni na działanie Intermittent Shutdown Syndrome. Uruchamiając komendę yes dwukrotnie pod Mac OS X, użytkownicy mogli zmaksymalizować zużycie procesora i dowiedzieć się czy wada jest związana z przegrzaniem.