Ja (Unix)
Betriebssystem | Unix und Unix-artig |
---|---|
Plattform | Plattformübergreifend |
Typ | Befehl |
Lizenz | CoreUtils: GPLV3+ |
Jawohl
ist ein Befehl an Unix und Unix-artig Betriebssysteme, was eine positive Antwort oder eine benutzerdefinierte Ausgabe ausgibt Saite des Textes, kontinuierlich bis getötet.
Überblick
Von selbst die, die Jawohl
Befehlsausgänge 'y' oder was auch immer als Argument angegeben wird, gefolgt von a Neue Zeile wiederholt, bis der Benutzer oder auf andere Weise gestoppt wurde getötet; Wenn es in einen Befehl geleitet wird, wird es fortgesetzt, bis das Rohr bricht (d. H. Das Programm vervollständigt seine Ausführung). Wenn der Benutzer jedoch a eintritt Saite Nach 'Ja' wird die Zeichenfolge genauso ausgegeben wie 'y', ähnlich wie Echo.
Die Version von Jawohl
gebündelt GNU CoreUtils wurde von David Mackenzie geschrieben.[1]
Der Befehl ist als separates Paket für verfügbar Microsoft Windows Im Rahmen des Gnuwin32 Projekt[2] und die Unxutils Sammlung von einheimisch Win32 Häfen von gemeinsamem GNU Unix-ähnliche Dienstprogramme.[3]
Verwendet
Jawohl
kann verwendet werden, um eine positive (oder negative; z. ja n
) Antwort auf einen Befehl, der sonst einen anfordern würde, wodurch der Befehl nicht-interaktiv ausgeführt wird.
Rohrleitungen Ja, zu einem Befehl mit vielen Benutzerantragsanforderungen, beantworten automatisch alle diese Eingabeaufforderungen mit "Ja" (Tippen Sie "y" und drücken Sie die Rückgabe).
Die folgenden Befehle
$ ja | sudo apt installieren foobar
Beantwortet die Eingabeaufforderungen zur Bestätigung mit y, effektiv installiert Foobar mit sudo geeignet ohne Aufforderungen.
Diese Verwendung kann heute veraltet sein, da die meisten Befehle, die die Antwort vom Benutzer anfordern würden, entweder eine "Kraft" -Option haben (z. B.,,, rm -f
) oder eine Annahme-yes-Option (zum Beispiel,Apt -y
).
Beispiel: Folgendes:
$ rm -f *.txt
ist funktionell äquivalent zu
$ ja | rm *.txt
Das Jawohl
Befehl in Verbindung mit dem Kopf Der Befehl kann verwendet werden, um große Volumendateien für Testmittel zu generieren. Zum Beispiel ausführen
$ ja 1234567 | Head -n1000> Datei
führt zu einer Datei, die aus 1000 Zeilen besteht, die jeweils aus acht Zeichen (1, 2, 3, 4, 5, 6, 7 und Newline) bestehen.
Jawohl
Kann als einfache Möglichkeit verwendet werden, CPU -Last zu erzeugen. Zum Beispiel im Jahr 2006 die Jawohl
Befehl erhielt Werbung für ein Mittel, um zu testen, ob ein Benutzer eines Benutzers MacBook wird durch den Fehler "Intermittierendes Shutdown -Syndrom" betroffen, bei dem ein MacBook zufällig ohne Benutzereingabe abgeschaltet wird. Durch Ausführen der Jawohl
auf unbestimmte Zeit zweimal durch Terminal unter Mac OS XDie Benutzer konnten die CPU ihres Computers maximal maximieren und somit feststellen, ob der Fehler wärmebildlich war.[4][5]
Implementierung und Leistung
Die Implementierung von Jawohl
Auf verschiedenen Unix- und Unix-Likes wurde konsequent mit einer einfachen Schleife implementiert. Die Implementierung des GNU -Projekts von Jawohl
war viel schneller als jede andere Implementierung, die durch die Pufferung seiner Ausgabe erreicht wurde, was zu mehr Ausgabe pro Systemanruf führte.[6][7] Die Implementierung von GNU war möglicherweise anders, um zu vermeiden, dass das UNIX -Urheberrecht verletzt wird. Das FreeBSD -Projekt änderte seine Implementierung im Jahr 2017 auf die Implementierung von GNU.[8]
Verweise
- ^ Linux Benutzerbefehle Handbuch - -
- ^ CoreUtils für Windows
- ^ Native Win32 -Ports einiger GNU -Dienstprogramme
- ^ "Test für MacBook Random Shutdown -Syndrom (RSS)". ZDNET. 2006-08-29. Abgerufen 2012-05-09.
- ^ "Testen Sie Ihr MacBook für zufällige Stillstände". Die Apple -Dateien. 2006-08-02. Archiviert von das Original am 2007-02-10. Abgerufen 2008-01-16.
- ^ "Eine kleine Geschichte über den Befehl" yes "unix | Matthias Endler".
- ^ "R/Unix - Wie ist Gnu 'Ja' so schnell?". Reddit. Abgerufen 2020-04-26.
- ^ "Ja 'Durchsatz verbessere". Github.
Weitere Lektüre
- Montfort, Nick (Januar 2012). Das triviale Programm "Ja" (PDF) (Technischer Bericht). Cambridge, Massachusetts: Trope Tank. 12-01. Abgerufen 2022-02-08.
Externe Links
- Manpage für
Jawohl
(GNU Ausführung) - Gnu coreutils yes.c Implementierung
- FreeBSD yes.c Implementierung
- Netbsd yes.c Implementierung
- Openbsd yes.c Implementierung