Fatmawati Achmad Zaenuri/Shutterstock.com

Der Befehl yes scheint zu einfach, um von praktischem Nutzen zu sein, aber in diesem Tutorial zeigen wir Ihnen seine Anwendung und wie Sie von seiner aufgestauten Positivität unter Linux und macOS profitieren können.



Der Ja-Befehl

Die |_+_| Befehl ist einer der einfachsten Befehle in Linux und anderen Unix-ähnliche Betriebssysteme wie macOS. Und mit einfach meinen wir einfach in seiner Verwendung und seiner anfänglichen Implementierung. Der Quellcode für die Originalversion – veröffentlicht in System 7 Unix und verfasst von Ken Thompson —beträgt nur sechs Zeilen Code .

Aber schreiben Sie es nicht ab, weil es ein einfacher kleiner Befehl ist. Es kann auf interessante und nützliche Weise verwendet werden.

Was macht ja?

Wird ohne Befehlszeilenparameter verwendet, die |_+_| Befehl verhält sich, als ob Sie y eingeben und die Eingabetaste drücken, immer und immer wieder (und immer wieder). Sehr schnell. Dies wird so lange fortgesetzt, bis Sie Strg + C drücken, um es zu unterbrechen.

yes

Tatsächlich |_+_| kann verwendet werden, um jede beliebige Nachricht wiederholt zu generieren. Geben Sie einfach |_+_|, ein Leerzeichen und die Zeichenfolge ein, die Sie verwenden möchten, und drücken Sie dann die Eingabetaste. Dies wird oft verwendet, um |_+_| um einen Ausgabestrom von Ja- oder Nein-Strings zu generieren.

yes

yes

Aber was nützt das?

Die Ausgabe von |_+_| kann in andere Programme oder Skripte geleitet werden.

Anzeige

Kommt Ihnen das bekannt vor? Sie starten einen langen Prozess, treten zurück und lassen ihn laufen. Wenn Sie zu Ihrem Computer zurückkehren, ist der Vorgang noch nicht abgeschlossen. In Ihrer Abwesenheit hat es Ihnen eine Frage gestellt und wartet auf eine Ja- oder Nein-Antwort.

Wenn Sie im Voraus wissen, dass alle Ihre Antworten positiv (ja oder y) oder negativ (nein oder n) sein werden, können Sie |_+_| . verwenden um Ihnen diese Antworten bereitzustellen. Ihr langer Prozess läuft dann unbeaufsichtigt mit |_+_| . zu Ende Bereitstellung von Antworten auf alle Fragen, die der Prozess stellt.

wie man wav dateien abspielt

Ja mit Skripten verwenden

Sehen Sie sich das folgende Bash-Shell-Skript an. (Wir müssen uns vorstellen, dass dies Teil eines viel größeren Skripts ist, dessen Ausführung eine beträchtliche Zeit in Anspruch nehmen wird.)

yes

Dieses Skript stellt eine Frage und wartet auf eine Antwort. Der logische Fluss innerhalb des Skripts wird durch die Eingaben des Benutzers bestimmt.

  • Ein Ja oder y zeigt eine positive Antwort an.
  • Jede andere Eingabe gilt als negative Antwort.
  • Das Drücken der Eingabetaste ohne Texteingabe bewirkt nichts.

Um dies zu testen, kopieren Sie das Skript in eine Datei und speichern Sie es unter |_+_|. Verwenden Sie |_+_| ausführbar zu machen.

yesAnzeige

Führen Sie das Skript mit dem folgenden Befehl aus. Versuchen Sie, yes, y und alles andere als Eingabe anzugeben, einschließlich des Drückens der Eingabetaste ohne Eingabetext.

yes

Um |_+_| . zu bekommen Um unsere Antwort auf die Frage des Skripts bereitzustellen, leiten Sie die Ausgabe von |_+_| . weiter zum Skript.

yes

Einige Skripte sind in ihren Anforderungen strenger und akzeptieren nur das vollständige Ja als positive Antwort. Sie können yes als Parameter für |_+_| angeben, wie folgt:

yes

Sag nicht ja, ohne es zu überdenken

Sie müssen sicher sein, dass die Eingaben, die Sie in das Skript oder Programm eingeben, definitiv das Ergebnis liefern, das Sie erwarten. Um diese Entscheidung treffen zu können, müssen Sie die Fragen und Ihre Antworten kennen.

Die Logik im Skript, Befehl oder Programm entspricht möglicherweise nicht Ihren Erwartungen. In unserem Beispielskript lautete die Frage möglicherweise: Möchten Sie aufhören? [j,n]. Wenn dies der Fall gewesen wäre, hätte eine negative Antwort dem Skript ermöglicht, fortzufahren.

Sie muss Machen Sie sich mit dem Skript, dem Befehl oder dem Programm vertraut, bevor Sie |_+_| hinein.

Ja mit Befehlen verwenden

In den Kinderschuhen, |_+_| würde mit anderen Linux-Befehlen verwendet werden. Seitdem laufen die meisten dieser anderen Linux-Befehle ohne menschliche Interaktion. |_+_| ist dafür nicht mehr erforderlich.

Anzeige

Nehmen wir den Ubuntu-Paketmanager |_+_| als Beispiel. Um eine Anwendung zu installieren, ohne nach der Hälfte der Installation y drücken zu müssen, |_+_| wäre wie folgt verwendet worden:

long_script.sh

Das gleiche Ergebnis kann mit dem |_+_| . erreicht werden (ja) Option in |_+_|:

chmod

Du wirst sehen, dass |_+_| nicht einmal gefragt, wie es üblich ist. Willst du fortfahren? [J/n] Frage. Es ging nur davon aus, dass die Antwort ja sein würde.

Bei anderen Linux-Distributionen ist die Situation die gleiche. Unter Fedora hätten Sie diese Art von Paketmanagerbefehl auf einmal verwendet:

yes

Die |_+_| Paketmanager hat |_+_| . ersetzt und |_+_| hat seine eigene |_+_| (angenommen ja) Option.

yesAnzeige

Das gleiche gilt für |_+_|, |_+_| und |_+_|. Diese Befehle haben jeweils ihre eigenen |_+_| (Kraft) oder |_+_| (angenommen ja) Optionen.

Scheint also |_+_| wurde auf die Arbeit mit Skripten verwiesen? Nicht ganz. Es gibt noch ein paar Tricks beim alten Hund.

Einige weitere ja Tricks

Sie können |_+_| . verwenden mit einer von |_+_| . erzeugten Ziffernfolge um eine Schleife wiederholter Aktionen zu steuern.

Dieser Einzeiler gibt die generierten Ziffern an das Terminalfenster zurück und ruft dann |_+_| . auf für eine Sekunde.

Anstatt die Ziffern einfach an das Terminalfenster zu senden, können Sie einen anderen Befehl oder ein Skript aufrufen. Dieser Befehl oder dieses Skript muss nicht einmal die Ziffern verwenden, und sie sind nur da, um jeden Zyklus der Schleife zu starten.

yes

ja Einzeiler, der eine Schleife im Terminalfenster regelt

Manchmal ist es nützlich, eine große Datei zum Testen zu haben. Vielleicht möchten Sie üben mit dem zip-Befehl , oder Sie möchten eine umfangreiche Datei zum Testen haben FTP-Uploads mit.

Anzeige

Mit |_+_| können Sie schnell große Dateien generieren. Alles, was Sie tun müssen, ist, ihm eine lange Textkette zu geben, mit der Sie arbeiten können, und die Ausgabe in eine Datei umleiten. Mach keinen Fehler; diese Dateien werden schnell wachsen. Seien Sie bereit, innerhalb weniger Sekunden Strg+C zu drücken.

yes yes yes

Generieren von Testdateien mit ja i ein Terminalfenster

Die hier generierte Datei dauerte auf dem Testcomputer, mit dem dieser Artikel recherchiert wurde, etwa fünf Sekunden. |_+_| berichtet, dass es 557 MB groß ist und |_+_| Sagen Sie uns, dass es 12,4 Millionen Zeilen enthält.

Wir können die Größe der Datei begrenzen, indem wir |_+_| . einschließen in unserem Befehlsstring. Wir sagen ihm, wie viele Zeilen in die Datei aufgenommen werden sollen. Die |_+_| bedeutet |_+_| lässt nur 50 Zeilen zum |_+_| Datei.

apt-get

Verwenden von head, um die Größe einer Datei in einem Terminalfenster zu begrenzen

Sobald 50 Zeilen im |_+_| . sind Datei wird der Vorgang beendet. Sie müssen nicht Strg+C verwenden. Es kommt von selbst zu einem anmutigen Halt.

|_+_| meldet, dass die Datei genau 50 Zeilen enthält, 400 Wörter und 2350 Byte groß ist.


Obwohl es immer noch nützlich ist, um Antworten in lang andauernde Skripte (und ein paar andere Tricks) einzugeben, ist das |_+_| Befehl wird kein Teil Ihres täglichen Befehls-Toolkits sein. Aber wenn Sie es brauchen, werden Sie feststellen, dass es einfach ist – und das alles in sechs Zeilen goldenem Code.

Linux-Befehle
Dateien Teer · pv · Katze · tac · chmod · Griff · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · Journalctl · Schwanz · Zustand · ls · fstab · rauswerfen · weniger · chgrp · chown · rev · suchen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · SRM
Prozesse alias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · beim · Charge · kostenlos · die · dmesg · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · ja · töten · Schlaf · sudo · seine · Zeit · groupadd · Benutzermod · Gruppen · lshw · stilllegen · neu starten · halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzung netstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · Locken · wget · Wer · Wer bin ich · In · iptables · ssh-keygen · ufw

VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten

WEITER LESEN