Dies ist der Befehl zshmodules, der im kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows Online-Emulator oder MAC OS Online-Emulator ausgeführt werden kann.
PROGRAMM:
NAME/FUNKTION
zshmodules – ladbare ZSH-Module
BESCHREIBUNG
Einige optionale Teile von zsh befinden sich in Modulen, getrennt vom Kern der Shell. Jedes dieser
Diese Module können zur Build-Zeit in die Shell eingebunden werden oder dynamisch verknüpft werden.
während die Shell läuft, wenn die Installation diese Funktion unterstützt. Module sind verknüpft
zur Laufzeit mit dem zmodload Befehl, siehe zshbuiltins(1).
Die mit der Zsh-Distribution gebündelten Module sind:
zsh/attr
Integrierte Funktionen zum Bearbeiten erweiterter Attribute (xattr).
zsh/cap
Integrierte Funktionen zum Bearbeiten von POSIX.1e (POSIX.6)-Fähigkeitssätzen (Berechtigungssätzen).
zsh/klonen
Eine integrierte Funktion, die eine laufende Shell auf ein anderes Terminal klonen kann.
zsh/compctl
Die kompl integriert zur Steuerung der Vervollständigung.
zsh/komplett
Der grundlegende Abschlusscode.
zsh/complist
Vervollständigen Sie die Auflistung der Erweiterungen.
zsh/computil
Ein Modul mit integrierten Dienstprogrammen, die für die auf Shell-Funktionen basierende Vervollständigung erforderlich sind
System.
zsh/curses
Curses-Fensterbefehle
zsh/datetime
Einige Datums-/Uhrzeitbefehle und -parameter.
zsh/db/gdbm
Integrierte Funktionen zum Verwalten assoziativer Array-Parameter, die an GDBM-Datenbanken gebunden sind.
zsh/deltochar
Eine ZLE-Funktion, die EMACS dupliziert. Zap-to-Char.
zsh/Beispiel
Ein Beispiel für das Schreiben eines Moduls.
zsh/files
Einige grundlegende Befehle zur Dateibearbeitung sind integriert.
zsh/langinfo
Schnittstelle zu Gebietsschemainformationen.
zsh/mapfile
Zugriff auf externe Dateien über ein spezielles assoziatives Array.
zsh/mathfunc
Standardmäßige wissenschaftliche Funktionen zur Verwendung in mathematischen Auswertungen.
zsh/newuser
Sorgen Sie dafür, dass die Dateien für neue Benutzer installiert werden.
zsh/Parameter
Zugriff auf interne Hash-Tabellen über spezielle assoziative Arrays.
zsh/pcre
Schnittstelle zur PCRE-Bibliothek.
zsh/regex
Schnittstelle zur POSIX-Regex-Bibliothek.
zsh/sched
Ein integriertes Programm, das eine zeitgesteuerte Ausführungsfunktion innerhalb der Shell bereitstellt.
zsh/net/socket
Manipulation von Unix-Domain-Sockets
zsh/stat
Eine eingebaute Kommandoschnittstelle zum Zustand Systemaufruf.
zsh/system
Eine integrierte Schnittstelle zu verschiedenen Low-Level-Systemfunktionen.
zsh/net/tcp
Manipulation von TCP-Sockets
zsh/termcap
Schnittstelle zur Termcap-Datenbank.
zsh/terminfo
Schnittstelle zur Terminfo-Datenbank.
zsh/zftp
Ein integrierter FTP-Client.
zsh/zle
Der Zsh-Zeileneditor, einschließlich der Bindungsschlüssel und variiert eingebaut.
zsh/zleparameter
Zugriff auf die internen Komponenten des Zsh-Zeileneditors über Parameter.
zsh/zprof
Ein Modul, das die Profilerstellung für Shell-Funktionen ermöglicht.
zsh/zpty
Ein integriertes Programm zum Starten eines Befehls in einem Pseudoterminal.
zsh/zselect
Blockieren und zurückkehren, wenn die Dateideskriptoren bereit sind.
zsh/zutil
Einige integrierte Dienstprogramme, z. B. das zur Unterstützung der Konfiguration über Stile.
ZSH/ATTR MODULE
Die zsh/attr Das Modul dient zur Bearbeitung erweiterter Attribute. Das -h Option verursacht
alle Befehle, die auf symbolische Links anstatt auf deren Ziele wirken. Die Builtins in diesem
Modul sind:
zgetattr [ -h ] Dateinamen Attribut [ Parameter ]
Holen Sie sich das erweiterte Attribut Attribut von den angegebenen Dateinamen. Wenn das optional ist
Argument Parameter angegeben ist, wird das Attribut auf diesen Parameter gesetzt, anstatt
wird auf stdout gedruckt.
zsetattr [ -h ] Dateinamen Attribut Wert
Festlegen des erweiterten Attributs Attribut auf den angegebenen Dateinamen zu Wert.
zdelattr [ -h ] Dateinamen Attribut
Entfernen Sie das erweiterte Attribut Attribut von den angegebenen Dateinamen.
zlistattr [ -h ] Dateinamen [ Parameter ]
Listen Sie die erweiterten Attribute auf, die derzeit für das angegebene Dateinamen. Wenn der
optionales Argument Parameter gegeben ist, wird die Liste der Attribute auf das
Parameter, anstatt auf stdout gedruckt zu werden.
zgetattr und zlistattr Speicher dynamisch zuordnen. Wenn das Attribut oder die Liste von
Attribute zwischen der Zuweisung und dem Aufruf wachsen, geben sie 2 zurück. Auf allen
Bei anderen Fehlern wird 1 zurückgegeben. Dies ermöglicht der aufrufenden Funktion, diesen Fall zu prüfen und
wiederholen.
ZSH/CAP MODULE
Die zsh/cap Das Modul dient zur Manipulation von POSIX.1e (POSIX.6) Capability-Sets. Wenn das
Wenn das Betriebssystem diese Schnittstelle nicht unterstützt, werden die von diesem Modul definierten Builtins
nichts tun. Die in diesem Modul integrierten Funktionen sind:
Kappe [ Ressourcen ]
Ändern Sie die Prozessfähigkeitssätze der Shell auf die angegebenen Ressourcen, Sonst
zeigt die aktuellen Fähigkeiten der Shell an.
getcap Dateinamen ...
Dies ist eine integrierte Implementierung des POSIX-Standard-Dienstprogramms. Es zeigt die
Fähigkeitssätze auf jedem angegebenen Dateinamen.
Setcap Ressourcen Dateinamen ...
Dies ist eine integrierte Implementierung des POSIX-Standard-Dienstprogramms. Es setzt die
Fähigkeitssätze auf jedem angegebenen Dateinamen in den angegebenen Ressourcen.
ZSH/CLONE MODULE
Die zsh/klonen Das Modul stellt einen integrierten Befehl zur Verfügung:
klonen tty
Erstellt eine gegabelte Instanz der aktuellen Shell, angehängt an die angegebene tty. in
die neue Schale, die PID, PPID und TTY spezielle Parameter werden entsprechend geändert.
$! wird in der neuen Shell auf Null gesetzt und in der ursprünglichen Shell auf die PID der neuen Shell
Schale.
Der Rückgabewert des Builtins ist in beiden Shells Null, wenn erfolgreich, und ungleich Null
auf Fehler.
Das Ziel von klonen sollte ein ungenutztes Terminal sein, z. B. eine ungenutzte virtuelle Konsole
oder ein virtuelles Terminal erstellt von
Xterm -e sh -c 'fangen : INT QUIT TSTP; tty;
während :; do Schlafstörungen 100000000; Erledigt'
Zu dieser langen xterm-Befehlszeile sind einige Worte zur Erklärung angebracht: Wenn
Klonen auf einem Pseudo-Terminal, eine andere Sitzung ("Sitzung" bedeutet Unix
Sitzungsgruppe oder SID) besitzt bereits das Terminal. Daher kann das geklonte zsh nicht
Das Pseudo-Terminal wird als steuerndes TTY verwendet. Das bedeutet zweierlei:
· die Job-Steuersignale werden an die Prozessgruppe sh-started-by-xterm weitergeleitet
(deshalb deaktivieren wir INT QUIT und TSTP mit Trap; sonst wird die while-Schleife
könnte suspendiert oder getötet werden)
· In der geklonten Shell ist die Job-Kontrolle deaktiviert und die Job-Kontrolltasten
(Strg-C, Strg-\ und Strg-Z) funktionieren nicht.
Dies gilt nicht beim Klonen auf ein ungenutzt vc.
Das Klonen auf ein benutztes (und unvorbereitetes) Terminal führt dazu, dass zwei Prozesse lesen
gleichzeitig vom selben Terminal, wobei die Eingabebytes zufällig entweder an
klonen ist hauptsächlich als in die Shell integrierter Ersatz für OpenVT nützlich.
ZSH/COMPCTL MODULE
Die zsh/compctl Das Modul stellt zwei integrierte Befehle zur Verfügung. kompl, ist das alte,
Veraltete Methode zur Steuerung von Vervollständigungen für ZLE. Siehe zshcompctl(1). Die anderen eingebauten
Befehl, compcall kann in benutzerdefinierten Vervollständigungs-Widgets verwendet werden, siehe zshcompwid(1).
ZSH/VOLLSTÄNDIG MODULE
Die zsh/komplett Modul stellt mehrere eingebaute Befehle zur Verfügung, die verwendet werden können in
benutzerdefinierte Vervollständigungs-Widgets finden Sie unter zshcompwid(1).
ZSH/COMPLIST MODULE
Die zsh/complist Das Modul bietet drei Erweiterungen für Vervollständigungslisten: die Möglichkeit,
Hervorheben von Übereinstimmungen in einer solchen Liste, die Möglichkeit, durch lange Listen zu scrollen und eine andere
Stil der Menüvervollständigung.
Farbig Abschluss Inserate
Immer wenn einer der Parameter ZLS_COLORS or ZLS_COLOURS eingestellt ist und die zsh/complist
Modul geladen oder in die Shell eingebunden wird, werden Vervollständigungslisten farbig dargestellt. Hinweis:
aber das Kompilierung wird nicht automatisch geladen, wenn es nicht verlinkt ist: on
Systeme mit dynamischer Belastung, `zmodload zsh/complist' ist erforderlich.
Die Parameter ZLS_COLORS und ZLS_COLOURS beschreiben, wie Übereinstimmungen hervorgehoben werden. Zum Einschalten
beim Markieren eines leeren Wertes genügt, in diesem Fall gelten alle unten angegebenen Standardwerte
verwendet. Das Format der Werte dieser Parameter ist das gleiche wie das von GNU
Version des ls Befehl: eine durch Doppelpunkte getrennte Liste von Spezifikationen der Form
`Name=Wert'. Das Name kann eine der folgenden Zeichenfolgen sein, von denen die meisten die Datei angeben
Typen, für die die Wert verwendet. Die Zeichenfolgen und ihre Standardwerte sind:
nicht 0 für normalen Text (also wenn etwas anderes als eine übereinstimmende Datei angezeigt wird)
fi 0 für normale Dateien
di 32 für Verzeichnisse
ln 36 für symbolische Links. Wenn dies den Sonderwert hat Ziel, symbolische Links sind
dereferenziert und die Zieldatei zur Bestimmung des Anzeigeformats verwendet.
pi 31 für benannte Pipes (FIFOs)
so 33 für Steckdosen
bd 44; 37
für Blockgeräte
cd 44; 37
für Zeichengeräte
or keine
für einen symbolischen Link zu einer nicht existierenden Datei (Standard ist der Wert, der für ln)
mi keine
für eine nicht vorhandene Datei (Standard ist der Wert, der für fi); dieser Code ist
derzeit nicht genutzt
su 37; 41
für Dateien mit gesetztem Setuid-Bit
sg 30; 43
für Dateien mit gesetztem Setgid-Bit
tw 30; 42
für weltweit beschreibbare Verzeichnisse mit gesetztem Sticky Bit
ow 34; 43
für weltweit beschreibbare Verzeichnisse ohne gesetztes Sticky Bit
sa keine
für Dateien mit einem zugehörigen Suffix-Alias; dies wird nur nach bestimmten
Suffixe, wie unten beschrieben
st 37; 44
für Verzeichnisse mit gesetztem Sticky Bit, die aber nicht allgemein beschreibbar sind
ex 35 für ausführbare Dateien
lc \e[ für den linken Code (siehe unten)
rc m für den richtigen Code
tc 0 für das Zeichen, das den Dateityp angibt, der nach Dateinamen gedruckt wird, wenn die
LIST_TYPES Option ist eingestellt
sp 0 für die Leerzeichen nach Übereinstimmungen, um die nächste Spalte auszurichten
ec keine
für den Endcode
Abgesehen von diesen Saiten, die Name kann auch ein Sternchen (`*'), gefolgt von einer beliebigen Zeichenfolge.
Die Wert Die für eine solche Zeichenfolge angegebene Zeichenfolge wird für alle Dateien verwendet, deren Name mit dem
Schnur. Die Name kann auch ein Gleichheitszeichen sein (`='), gefolgt von einem Muster; die
EXTENDED_GLOB Option wird zur Auswertung des Musters aktiviert. Die Wert gegeben für
Dieses Muster wird für alle Übereinstimmungen (nicht nur Dateinamen) verwendet, deren Anzeigezeichenfolge
durch das Muster abgeglichen. Definitionen für die Form mit dem führenden Gleichheitszeichen nehmen
Vorrang vor den für Dateitypen definierten Werten, die wiederum Vorrang vor den
Formular mit dem führenden Sternchen (Dateierweiterungen).
Die Form „führendes Gleichheitszeichen“ ermöglicht auch die Einfärbung verschiedener Teile der angezeigten Zeichenfolgen
anders. Dazu muss das Muster die `(#B)' Globbing-Flagge und Paare von
Klammern um die Teile der Zeichenfolgen, die anders gefärbt werden sollen. In
dieser Fall die Wert kann aus mehreren Farbcodes bestehen, die durch Gleichheitszeichen getrennt sind.
Der erste Code wird für alle Teile verwendet, für die kein expliziter Code angegeben ist, und der
Für die Teile, die mit den Untermustern in Klammern übereinstimmen, werden die folgenden Codes verwendet.
Beispielsweise ist die Spezifikation `=(#b)(?)*(?)=0=3=7' wird für alle Spiele verwendet, die
mindestens zwei Zeichen lang und verwendet den Code `3' für das erste Zeichen, `7' zum
das letzte Zeichen und `0' für den Rest.
Alle drei Formen der Name kann ein Muster in Klammern vorangestellt werden. Wenn dies angegeben ist,
die Wert wird nur für Übereinstimmungen in Gruppen verwendet, deren Namen mit dem Muster übereinstimmen
in den Klammern angegeben. Zum Beispiel `(g*)m*=43' hebt alle Übereinstimmungen hervor, die mit beginnen
`m' in Gruppen, deren Namen mit ` beginneng' mit dem Farbcode `43'. Im Falle der `lc',
`rc' und `ec'-Codes wird das Gruppenmuster ignoriert.
Beachten Sie auch, dass alle Muster in der Reihenfolge ausprobiert werden, in der sie im Parameter erscheinen
Wert, bis der erste übereinstimmt, der dann verwendet wird.
Beim Drucken einer Übereinstimmung druckt der Code den Wert von lc, der Wert für den Dateityp oder die
letzte passende Spezifikation mit einem `*', der Wert von rc, die anzuzeigende Zeichenfolge für die
Spiel selbst, und dann der Wert von ec wenn das definiert ist oder die Werte von lc, nicht und rc
if ec ist nicht definiert.
Die Standardwerte sind ISO 6429 (ANSI) konform und können auf vt100 kompatiblen
Endgeräte wie Xterms. Auf monochromen Terminals haben die Standardwerte keine sichtbaren
bewirken. Das Farben Die Funktion aus dem Beitrag kann verwendet werden, um assoziative Arrays zu erhalten
mit den Codes für ANSI-Terminals (siehe Abschnitt „Weitere Funktionen“ in
zshcontrib(1)). Zum Beispiel nach dem Laden Farben, könnte man ` verwenden$Farben[rot]' zu bekommen
der Code für Vordergrundfarbe Rot und `$colors[bg-green]' für den Code für den Hintergrund
Farbe Grün.
Wenn das von compinit aufgerufene Vervollständigungssystem verwendet wird, sollten diese Parameter nicht gesetzt werden
direkt, weil das System sie selbst steuert. Stattdessen Listenfarben Stil sollte
verwendet werden (siehe Abschnitt „Konfiguration des Abschlusssystems“ in zshcompsys(1)).
Scrolling in Abschluss Inserate
Um das Scrollen durch eine Vervollständigungsliste zu ermöglichen, muss der LISTEPROMPT Parameter muss gesetzt werden. Sein
Wert wird als Eingabeaufforderung verwendet; wenn es sich um eine leere Zeichenfolge handelt, wird eine Standardeingabeaufforderung
verwendet. Der Wert kann Escapezeichen der Form ` enthalten%x'. Es unterstützt die Escapezeichen `%B',
`%b', `%S', `%s', `%U', `%u', `%F', `%f', `%K', `%k' und `%{...%}' wird auch in Shell verwendet
Eingabeaufforderungen sowie drei Paare zusätzlicher Sequenzen: ein `%l' oder `%L' wird durch das ersetzt
Nummer der letzten angezeigten Zeile und die Gesamtzahl der Zeilen in der Form `Anzahl/gesamt'; A
`%m' oder `%M' wird durch die Nummer des letzten angezeigten Spiels und die Gesamtzahl der
Streichhölzer; und `%p' oder `%P' wird durch ` ersetztNach oben', `Boden' oder die Position des ersten
Zeile in Prozent der Gesamtzahl der Zeilen angezeigt. In jedem dieser Fälle
Das Formular mit dem Großbuchstaben wird durch eine Zeichenfolge mit fester Breite ersetzt, aufgefüllt
rechts mit Leerzeichen aufgefüllt, während die Kleinbuchstaben nicht aufgefüllt werden.
Wenn der Parameter LISTEPROMPT gesetzt ist, wird der Abschlusscode nicht fragen, ob die Liste
angezeigt. Stattdessen wird sofort mit der Anzeige der Liste begonnen und nach dem ersten
Bildschirmvoll, zeigt die Eingabeaufforderung unten an, wartet auf einen Tastendruck, nachdem
Umschalten auf die Listenscroll Tastenbelegung. Einige der zle-Funktionen haben eine besondere Bedeutung
beim Scrollen durch Listen:
Sendepause
stoppt die Auflistung und verwirft die gedrückte Taste
Akzeptieren-Zeile, Geschichte, Downline-oder-Geschichte
Downline-oder-Suche, vi-down-line-or-history
scrollt eine Zeile vorwärts
vollständiges Wort, Menü-komplett, erweitern oder vervollständigen
Expand-or-Complete-Präfix, Menü vervollständigen oder erweitern
scrollt einen Bildschirm weit nach vorne
Akzeptieren-Suche
Notierung beenden, aber keine weiteren Maßnahmen ergreifen
Jedes andere Zeichen beendet die Auflistung und verarbeitet den Schlüssel sofort wie gewohnt. Jeder Schlüssel
das nicht gebunden ist an die Listenscroll keymap oder das ist gebunden an undefinierter Schlüssel wird nachgeschlagen
in der aktuell ausgewählten Tastenbelegung.
Im Hinblick auf die ZLS_COLORS und ZLS_COLOURS Parameter, LISTEPROMPT sollte nicht direkt eingestellt werden
bei Verwendung des Shell-Funktions-basierten Vervollständigungssystems. Stattdessen Listenaufforderung Stil
sollte benutzt werden.
Menü Auswahl
Die zsh/complist Das Modul bietet auch eine alternative Möglichkeit, Übereinstimmungen aus einer Liste auszuwählen.
Menüauswahl genannt, die verwendet werden kann, wenn die Shell so eingerichtet ist, dass sie zum letzten
Eingabeaufforderung nach der Anzeige einer Vervollständigungsliste (siehe ALWAYS_LAST_PROMPT Option in
zshoptions(1)).
Menüauswahl kann direkt über das Widget aufgerufen werden Menüauswahl durch dieses Modul definiert.
Dies ist ein Standard-ZLE-Widget, das auf die übliche Weise an einen Schlüssel gebunden werden kann, wie in
zshzle(1).
Alternativ kann der Parameter MENÜAUSWAHL kann auf eine Ganzzahl gesetzt werden, die das Minimum ergibt
Anzahl der Übereinstimmungen, die vorhanden sein müssen, bevor die Menüauswahl automatisch aktiviert wird.
Diese zweite Methode erfordert, dass die Menüvervollständigung entweder direkt von einem Widget aus gestartet wird
wie Menü-komplettoder aufgrund einer der Optionen MENU_COMPLETE or AUTO_MENU eingestellt wird.
If MENÜAUSWAHL gesetzt ist, aber 0, 1 oder leer ist, wird die Menüauswahl immer gestartet während
ein mehrdeutiger Menüabschluss.
Bei der Verwendung des auf Shell-Funktionen basierenden Vervollständigungssystems MENÜAUSWAHL Parameter sollte
nicht verwendet werden (wie die ZLS_COLORS und ZLS_COLOURS Parameter wie oben beschrieben). Stattdessen
die menü Stil sollte mit dem verwendet werden auswählen=... Stichwort.
Nach dem Start der Menüauswahl werden die Treffer aufgelistet. Falls mehrere Treffer vorhanden sind,
als auf den Bildschirm passen, wird nur der erste Teil angezeigt. Die in das
Befehlszeile kann aus dieser Liste ausgewählt werden. In der Liste wird eine Übereinstimmung mit
der Wert für ma von dem ZLS_COLORS or ZLS_COLOURS Parameter. Der Standardwert für diesen
ist `7', wodurch die ausgewählte Übereinstimmung im Hervorhebungsmodus auf einem
vt100-kompatibles Terminal. Wenn weder ZLS_COLORS noch ZLS_COLOURS eingestellt ist, das gleiche
Terminal-Steuersequenz wie für die `%S' Escape wird in Eingabeaufforderungen verwendet.
Wenn mehr Übereinstimmungen vorliegen, als auf den Bildschirm passen, und der Parameter Menüeingabeaufforderung ist eingestellt, seine
Der Wert wird unter den Übereinstimmungen angezeigt. Es werden die gleichen Escape-Sequenzen unterstützt wie
LISTEPROMPT, aber die Nummer des Spiels oder der Zeile, die angezeigt wird, ist die Nummer derjenigen, bei der die
Markierung gesetzt. Wenn der Wert eine leere Zeichenfolge ist, wird eine Standardeingabeaufforderung verwendet.
Die MENUSCROLL Mit dem Parameter kann festgelegt werden, wie die Liste gescrollt wird. Wenn der
Wenn der Parameter nicht gesetzt ist, erfolgt dies zeilenweise, wenn er auf ` gesetzt ist.0' (Null), wird die Liste
scrollen Sie die Hälfte der Zeilen des Bildschirms. Wenn der Wert positiv ist, gibt es die
Anzahl der zu scrollenden Zeilen. Wenn der Wert negativ ist, wird die Liste um die Anzahl der
Zeilen des Bildschirms abzüglich des (absoluten) Wertes.
Im Hinblick auf die ZLS_COLORS, ZLS_COLOURS und LISTEPROMPT Parameter, weder Menüeingabeaufforderung noch
MENUSCROLL sollte direkt festgelegt werden, wenn das auf Shellfunktionen basierende Vervollständigungssystem verwendet wird.
Stattdessen die Auswahl-Eingabeaufforderung und Auswählen-Scrollen Stile sollten verwendet werden.
Der Vervollständigungscode zeigt manchmal nicht alle Treffer in der Liste an. Diese
Ausgeblendete Übereinstimmungen sind entweder Übereinstimmungen, bei denen die Vervollständigungsfunktion, die sie hinzugefügt hat,
ausdrücklich darum gebeten, dass sie nicht in der Liste erscheinen (mithilfe der -n Option der compadd
eingebauten Befehl) oder es handelt sich um Übereinstimmungen, die eine Zeichenfolge duplizieren, die bereits in der Liste vorhanden ist (weil
Sie unterscheiden sich nur in Präfixen oder Suffixen, die nicht angezeigt werden). In der Liste
Zur Menüauswahl verwendet, aber auch diese Übereinstimmungen werden angezeigt, so dass es möglich ist,
Wählen Sie sie aus. Um solche Übereinstimmungen hervorzuheben, hi und du Fähigkeiten in der ZLS_COLORS und
ZLS_COLOURS Parameter werden für versteckte Übereinstimmungen der ersten und zweiten Art unterstützt,
beziehungsweise.
Die Auswahl von Übereinstimmungen erfolgt durch Verschieben der Markierung mithilfe der ZLE-Bewegungsfunktionen.
Wenn nicht alle Spiele gleichzeitig auf dem Bildschirm angezeigt werden können, scrollt die Liste nach oben
und nach unten, wenn die obere oder untere Linie überschritten wird. Die folgenden zle-Funktionen haben spezielle
Bedeutung bei der Menüauswahl. Beachten Sie, dass die folgenden immer die gleiche Aufgabe ausführen
innerhalb der Menüauswahlkarte und kann nicht durch benutzerdefinierte Widgets ersetzt werden, noch kann die
Funktionsumfang erweitert werden:
Akzeptieren-Zeile, Akzeptieren-Suche
Akzeptieren Sie die aktuelle Übereinstimmung und verlassen Sie die Menüauswahl (aber führen Sie nicht den Befehl aus
Zeile akzeptiert werden)
Sendepause
verlässt die Menüauswahl und stellt den vorherigen Inhalt der Befehlszeile wieder her
erneut anzeigen, klarer Bildschirm
ihre normale Funktion ausführen, ohne die Menüauswahl zu verlassen
akzeptieren und halten, Akzeptieren und Menü abschließen
Akzeptieren Sie die aktuell eingefügte Übereinstimmung und setzen Sie die Auswahl fort, indem Sie die
nächste Übereinstimmung, die in die Zeile eingefügt werden soll
Nächsten Verlauf akzeptieren und ableiten
akzeptiert die aktuelle Übereinstimmung und versucht dann erneut, die Vervollständigung mit der Menüauswahl durchzuführen; in
Bei Dateien kann man so ein Verzeichnis auswählen und sofort versuchen,
komplette Dateien darin; wenn keine Übereinstimmungen vorhanden sind, wird eine Meldung angezeigt und man kann
rückgängig machen um zur vorherigen Ebene zurückzukehren, jede andere Taste verlässt das Menü
Auswahl (einschließlich der anderen zle-Funktionen, die sonst speziell während
Menüauswahl)
rückgängig machen Entfernt Übereinstimmungen, die während der Menüauswahl durch eine der drei Funktionen eingefügt wurden
bevor
Geschichte, Downline-oder-Geschichte
vi-down-line-or-history, Downline-oder-Suche
verschiebt die Markierung eine Zeile nach unten
Up-Geschichte, up-line-or-history
vi-up-line-oder-geschichte, up-line-or-search
verschiebt die Markierung eine Zeile nach oben
vorwärts-char, vi-forward-char
verschiebt die Markierung eine Spalte nach rechts
Rückwärts-Zeichen, vi-backward-char
verschiebt die Markierung eine Spalte nach links
Vorwärtswort, vi-forward-word
vi-forward-word-end, Emacs-Forward-Wort
verschiebt die Markierung eine Bildschirmseite nach unten
Rückwärts-Wort, vi-rückwärts-Wort, Emacs-Rückwärtswort
verschiebt die Markierung um eine Bildschirmseite nach oben
vi-forward-leerwort, vi-forward-leerwort-ende
verschiebt die Markierung in die erste Zeile der nächsten Gruppe von Übereinstimmungen
vi-rückwärts-Leerwort
verschiebt die Markierung zur letzten Zeile der vorherigen Gruppe von Übereinstimmungen
Anfang der Geschichte
verschiebt die Markierung in die erste Zeile
Ende der Geschichte
verschiebt die Markierung in die letzte Zeile
Anfang des Puffers oder der Geschichte, Zeilenanfang
Zeilenanfang-Historie, vi-Zeilenanfang
verschiebt die Markierung in die Spalte ganz links
Ende des Puffers oder der Geschichte, Ende der Linie
Zeilenende-Historie, vi-Ende der Zeile
verschiebt die Markierung in die Spalte ganz rechts
vollständiges Wort, Menü-komplett, erweitern oder vervollständigen
Expand-or-Complete-Präfix, Menü-Erweitern oder Vervollständigen
verschiebt die Markierung zum nächsten Spiel
Reverse-Menü-vollständig
verschiebt die Markierung zum vorherigen Spiel
vi-einfügen
Hiermit wird zwischen dem normalen und interaktiven Modus umgeschaltet. Im interaktiven Modus werden die Tasten
gebunden an selbst einfügen und self-insert-unmeta in die Kommandozeile einfügen wie in
normalen Bearbeitungsmodus, jedoch ohne Verlassen der Menüauswahl; nach jedem Zeichen
Die Vervollständigung wird erneut versucht und die Liste ändert sich, sodass sie nur die neuen Übereinstimmungen enthält.
Vervollständigungs-Widgets sorgen dafür, dass die längste eindeutige Zeichenfolge in den Befehl eingefügt wird
Linie und rückgängig machen und rückwärts-löschen-zeichen zurück zum vorherigen Satz von Übereinstimmungen
Verlauf-inkrementelle-Suche-vorwärts
Verlauf-inkrementelle-Suche-rückwärts
Dadurch werden inkrementelle Suchvorgänge in der Liste der angezeigten Vervollständigungen gestartet.
Modus Akzeptieren-Zeile verlässt nur die inkrementelle Suche und kehrt zum normalen Menü zurück
Auswahlmodus
Alle Bewegungsfunktionen werden an den Rändern umbrochen; jede andere nicht aufgeführte Zle-Funktion lässt
Menüauswahl und führt diese Funktion aus. Es ist möglich, Widgets in den oben genannten
Liste tun Sie dasselbe, indem Sie die Form des Widgets mit einem `.' vor. Zum Beispiel die
Widget `.Accept-Line' bewirkt, dass die Menüauswahl verlassen wird und die gesamte
Befehlszeile.
Bei dieser Auswahl verwendet das Widget die Tastaturbelegung MenüauswahlJeder Schlüssel, der nicht definiert ist
in dieser Keymap oder das ist gebunden an undefinierter Schlüssel wird aktuell in der Keymap nachgeschlagen
ausgewählt. Damit wird sichergestellt, dass die wichtigsten Schlüssel bei der Auswahl
(nämlich die Cursortasten, Return und TAB) haben sinnvolle Voreinstellungen. Allerdings sind die Tasten in der
Menüauswahl Die Tastenbelegung kann direkt über die Bindungsschlüssel eingebauter Befehl (siehe
zshmodules(1)). Um beispielsweise die Eingabetaste zu aktivieren, verlassen Sie die Menüauswahl, ohne sie zu akzeptieren.
das aktuell ausgewählte Spiel könnte man anrufen
Bindungsschlüssel -M Menüauswahl '^M' Sendepause
nach dem Laden der zsh/complist Modul.
ZSH/COMPUTIL MODULE
Die zsh/computil Modul fügt mehrere eingebaute Befehle hinzu, die von einigen der
Vervollständigungsfunktionen im Vervollständigungssystem basierend auf Shell-Funktionen (siehe zshcompsys(1)
). Außer compquote Diese eingebauten Befehle sind sehr spezialisiert und daher nicht sehr
interessant, wenn Sie Ihre eigenen Vervollständigungsfunktionen schreiben. Zusammenfassend sind diese eingebauten
Befehle sind:
Vergleiche
Dies wird von der verwendet _Argumente Funktion zum Ausführen der Argument- und Befehlszeile
Parsen. Wie compdescribe es hat eine Option -i um das Parsen durchzuführen und zu initialisieren
einige interne Status und verschiedene Optionen für den Zugriff auf die Statusinformationen, um zu entscheiden
was erledigt werden soll.
compdescribe
Dies wird von der verwendet _beschreiben Funktion zum Aufbau der Spielanzeigen und zur
Holen Sie sich die hinzuzufügenden Zeichenfolgen als Übereinstimmungen mit ihren Optionen. Beim ersten Aufruf einer der
Optionen -i or -I sollte als erstes Argument angegeben werden. Im ersten Fall
Es werden Anzeigezeichenfolgen ohne Beschreibungen generiert, im zweiten Fall die
Die Zeichenfolge, die zur Trennung der Übereinstimmungen von ihren Beschreibungen verwendet wird, muss als
zweites Argument und die Beschreibungen (falls vorhanden) werden angezeigt. Alle anderen Argumente
sind wie die Definitionsargumente für _beschreiben sich.
Sobald compdescribe wurde entweder mit dem -i oder unter der -I Option, es kann
wiederholt aufgerufen mit dem -g Option und die Namen von vier Parametern als
Argumente. Dadurch werden die verschiedenen Übereinstimmungen durchlaufen und die
Wert von compstate[Liste] im ersten Skalar die Optionen für compadd in dieser Sekunde
Array, die Übereinstimmungen im dritten Array und die anzuzeigenden Zeichenfolgen im
Vervollständigungsliste im vierten Array. Die Arrays können dann direkt an
compadd um die Übereinstimmungen mit dem Abschlusscode zu registrieren.
kompiliert
Verwendet von der _path_files Funktion zur Optimierung komplexer rekursiver Dateinamengenerierung
(globbing). Es bewirkt drei Dinge. Mit dem -p und -P Optionen, die es baut den Glob
Muster zu verwenden, einschließlich der Pfade bereits behandelt und versuchen, die zu optimieren
Muster in Bezug auf das Präfix und Suffix aus der Zeile und der Übereinstimmung
Spezifikation derzeit verwendet. Die -i Option führt die Verzeichnistests für die
Ignorieren-Eltern Stil und die -r Option prüft, ob eine Komponente für einige der Übereinstimmungen
sind gleich der Zeichenfolge in der Zeile und entfernt alle anderen Übereinstimmungen, wenn dies der Fall ist.
Compgroups
Verwendet von der _Stichworte Funktion zur Implementierung der Interna des Gruppenbestellung Stil.
Dies nimmt nur seine Argumente als Namen von Vervollständigungsgruppen und erstellt die Gruppen
dafür (alle sechs Typen: sortiert und unsortiert, beide ohne Entfernen von Duplikaten, mit
Entfernen aller Duplikate und Entfernen aufeinanderfolgender Duplikate).
compquote [ -p ] Namen ...
Es kann Gründe geben, Vervollständigungsfunktionen zu schreiben, die die Übereinstimmungen hinzufügen müssen
Verwendung der -Q Option zu compadd und führen selbst Zitierungen durch. Anstatt
Interpretation des ersten Zeichens der all_quotes Schlüssel des compstate besondere
Verein und die Nutzung der q Flag für Parametererweiterungen, man kann dieses eingebaute
Befehl. Die Argumente sind die Namen der Skalar- oder Array-Parameter und die Werte
Diese Parameter werden nach Bedarf für die innerste Quotierungsebene quotiert. Wenn die
-p Wenn diese Option angegeben ist, erfolgt die Anführungszeichensetzung so, als ob vor den Werten von
die Parameter, sodass ein führendes Gleichheitszeichen nicht in Anführungszeichen gesetzt wird.
Der Rückgabestatus ist im Fehlerfall ungleich Null und andernfalls Null.
Comptags
comptry
Diese implementieren die internen Komponenten des Tag-Mechanismus.
Comp-Werte
Like Vergleiche, aber für die _Werte Funktion.
ZSH/CURSES MODULE
Die zsh/curses Das Modul stellt einen integrierten Befehl und verschiedene Parameter zur Verfügung.
builtin
zcurses init
zcurses Ende
zcurses addwin Zielgewinn nzeilen ncols begin_y begin_x [ Elterngewinn ]
zcurses delwin Zielgewinn
zcurses erfrischen [ Zielgewinn ... ]
zcurses aufnehmen Zielgewinn ...
zcurses schlauer bewegen Zielgewinn new_y new_x
zcurses klar Zielgewinn [ neu zeichnen | eol | bot ]
zcurses Position Zielgewinn Array
zcurses verkohlen Zielgewinn Charakter
zcurses Schnur Zielgewinn Schnur
zcurses Grenze Zielgewinn Grenze
zcurses attr Zielgewinn [[+|-]Attribut | fg_col/bg_col ] [...]
zcurses bg Zielgewinn [[+|-]Attribut | fg_col/bg_col | @verkohlen ] [...]
zcurses blättern Zielgewinn [ on | WOW! | [+|-]Linien ]
zcurses Varianten des Eingangssignals: Zielgewinn [ stoppen [ kparam [ mparam ] ] ]
zcurses Maus [ verzögern num | [+|-]Bewegung ]
zcurses Timeout Zielgewinn Intervall
zcurses Abfragezeichen Zielgewinn [ stoppen ]
Manipulieren Sie Curses-Fenster. Alle Verwendungen dieses Befehls sollten eingeklammert werden durch
`zcurses init' um die Verwendung von Flüchen zu initialisieren, und `zcurses Ende' um es zu beenden; weglassen
`zcurses Ende' kann dazu führen, dass sich das Terminal in einem unerwünschten Zustand befindet.
Der Unterbefehl addwin erstellt ein Fenster mit nzeilen Linien und ncols Spalten. Seine
Die obere linke Ecke wird in der Zeile platziert begin_y und Spalte begin_x des Bildschirms.
Zielgewinn ist eine Zeichenfolge und bezieht sich auf den Namen eines Fensters, das derzeit nicht
zugewiesen. Beachten Sie insbesondere die Curses-Konvention, dass vertikale Werte erscheinen
vor horizontalen Werten.
If addwin Wenn als letztes Argument ein vorhandenes Fenster übergeben wird, wird das neue Fenster
erstellt als Unterfenster von ElterngewinnDies unterscheidet sich von einem gewöhnlichen neuen Fenster in
dass der Speicher des Fensterinhalts mit dem Speicher des übergeordneten Elements geteilt wird.
Unterfenster müssen vor dem übergeordneten Fenster gelöscht werden. Beachten Sie, dass die Koordinaten von
Unterfenster beziehen sich auf den Bildschirm und nicht auf das übergeordnete Fenster wie andere Fenster.
Verwenden Sie den Unterbefehl delwin um ein Fenster zu löschen, das mit addwin. Beachten Sie, dass Ende
die nicht Fenster implizit löschen, und das delwin löscht das Bildschirmbild nicht
des Fensters.
Das Fenster, das dem gesamten sichtbaren Bildschirm entspricht, heißt stdscr; es immer
existiert nach `zcurses init' und kann nicht gelöscht werden mit delwin.
Der Unterbefehl erfrischen wird das Fenster aktualisieren Zielgewinn; dies ist notwendig, um
ausstehende Änderungen (wie etwa Zeichen, die Sie für die Ausgabe vorbereitet haben mit verkohlen) sichtbar
auf dem Bildschirm. erfrischen ohne Argument bewirkt, dass der Bildschirm gelöscht wird und
neu gezeichnet. Sind mehrere Fenster angegeben, wird der Bildschirm am Ende einmal aktualisiert.
Der Unterbefehl aufnehmen markiert die Zielgewinns als geändert aufgeführt. Dies ist notwendig
bevor erfrischenFenster, wenn ein Fenster, das vor einem anderen Fenster war (was
könnte sein stdscr) wird gelöscht.
Der Unterbefehl schlauer bewegen verschiebt die Cursorposition in Zielgewinn zu neuen Koordinaten new_y
und new_xBeachten Sie, dass der Unterbefehl Schnur (aber nicht der Unterbefehl verkohlen) Fortschritte
die Cursorposition über den hinzugefügten Zeichen.
Der Unterbefehl klar löscht den Inhalt von Zielgewinn. Eine (und nicht mehr als eine)
Es können drei Optionen angegeben werden. Mit der Option neu zeichnen, zusätzlich die nächste
erfrischen of Zielgewinn wird der Bildschirm gelöscht und neu gezeichnet. Mit dem
ganz ohne irgendetwas tun oder drücken zu müssen. eol, Zielgewinn wird nur bis zum Ende der aktuellen Cursorzeile gelöscht. Mit
die Option bot, Zielgewinn wird bis zum Ende des Fensters gelöscht, d.h. alles, was
rechts und unterhalb des Cursors wird gelöscht.
Der Unterbefehl Position schreibt verschiedene Positionen im Zusammenhang mit Zielgewinn in die
Array mit dem Namen Array. Dies sind in der Reihenfolge:
- Die y- und x-Koordinaten des Cursors relativ zur oberen linken Ecke des Zielgewinn
- Die y- und x-Koordinaten der oberen linken Ecke von Zielgewinn auf dem Bildschirm
- Die Größe von Zielgewinn in den Dimensionen y und x.
Die Ausgabe von Zeichen und Zeichenfolgen erfolgt durch verkohlen und Schnur beziehungsweise.
So zeichnen Sie einen Rahmen um das Fenster Zielgewinn, benutzen Sie Grenze. Beachten Sie, dass die Grenze nicht
später speziell behandelt: Mit anderen Worten, die Grenze ist einfach eine Reihe von
Zeichen am Rand des Fensters ausgegeben. Daher kann es überschrieben werden, kann
aus dem Fenster scrollen usw.
Der Unterbefehl attr wird einstellen Zielgewinn's Attribute oder Vordergrund-/Hintergrundfarbe
Paar für jede nachfolgende Zeichenausgabe. Jedes Attribut auf der Linie angegeben werden kann
vorangestelltem + zu setzen oder eine - um dieses Attribut aufzuheben; + wird angenommen, wenn es nicht vorhanden ist.
Die unterstützten Attribute sind blinken, fett, schwach, rückgängig machen, standout und unterstreichen.
. Der fg_col/bg_col Attribut (zu lesen als `fg_col on bg_col') setzt den Vordergrund
und Hintergrundfarbe für die Zeichenausgabe. Die Farbe Standard ist manchmal
verfügbar (insbesondere wenn die Bibliothek ncurses ist), Angabe des Vordergrunds oder
Hintergrundfarbe, mit der das Terminal gestartet wurde. Das Farbpaar Standard/Standard
ist immer verfügbar.
bg überschreibt die Farbe und andere Attribute aller Zeichen im Fenster. Seine
Normalerweise wird der Hintergrund zunächst festgelegt, aber die Attribute werden dadurch überschrieben.
von beliebigen Zeichen zum Zeitpunkt des Aufrufs. Zusätzlich zu den Argumenten
erlaubt mit attr, ein Argument @verkohlen gibt ein Zeichen an, das in anderen Fällen angezeigt werden soll
leere Bereiche des Fensters. Aufgrund der Einschränkungen von Curses kann dies nicht sein
Multibyte-Zeichen (es wird empfohlen, nur ASCII-Zeichen zu verwenden). Da die
Der angegebene Satz von Attributen überschreibt den vorhandenen Hintergrund und macht Attribute
off in den Argumenten ist nicht sinnvoll, verursacht jedoch keinen Fehler.
Der Unterbefehl blättern kann mit verwendet werden on or WOW! zum Aktivieren oder Deaktivieren des Scrollens von
ein Fenster, wenn der Cursor sonst aufgrund von Eingaben oder
Ausgabe. Es kann auch mit einer positiven oder negativen Ganzzahl verwendet werden, um die
Fenster um die angegebene Anzahl Zeilen nach oben oder unten verschieben, ohne den aktuellen Cursor zu ändern
Position (die sich daher in die entgegengesetzte Richtung zu bewegen scheint, relativ zum
Fenster). Im zweiten Fall, wenn Scrollen ist WOW! es ist vorübergehend ausgeschaltet on zu
Erlauben Sie das Scrollen des Fensters.
Der Unterbefehl Varianten des Eingangssignals: liest ein einzelnes Zeichen aus dem Fenster, ohne es zu wiederholen
zurück. Wenn stoppen wird das Zeichen angegeben, das dem Parameter zugewiesen ist stoppensonst
es wird dem Parameter zugewiesen ANTWORTEN.
Wenn beides stoppen und kparam geliefert werden, wird der Schlüssel im Modus „Tastatur“ gelesen. In diesem
Modus-Sondertasten wie Funktionstasten und Pfeiltasten geben den Namen der Taste zurück
im Parameter kparamDie Schlüsselnamen sind die Makros, die in der Flüche.h or
ncurses.h mit dem Präfix `SCHLÜSSEL_' entfernt; siehe auch die Beschreibung des Parameters
zcurses_keycodes unten. Andere Tasten bewirken einen Wert in stoppen wie zuvor. Auf
eine erfolgreiche Rückkehr nur eine von stoppen or kparam enthält eine nicht leere Zeichenfolge; die
other wird auf eine leere Zeichenfolge gesetzt.
If mparam wird ebenfalls mitgeliefert, Varianten des Eingangssignals: versucht, Mauseingaben zu verarbeiten. Dies ist nur
verfügbar mit der ncurses-Bibliothek; Maus-Handling kann erkannt werden, indem geprüft wird nach
der Exit-Status von `zcurses Maus' ohne Argumente. Wenn eine Maustaste geklickt wird
(oder doppelt oder dreifach geklickt, oder gedrückt oder losgelassen mit einer konfigurierbaren Verzögerung
vom Anklicken abgehalten) dann kparam wird auf die Zeichenfolge gesetzt MAUS und mparam ist auf ein gesetzt
Array bestehend aus den folgenden Elementen:
- Eine Kennung zur Unterscheidung verschiedener Eingabegeräte; dies ist nur selten
sinnvoll.
- Die x-, y- und z-Koordinaten des Mausklicks relativ zum Vollbild,
als drei Elemente in dieser Reihenfolge (d. h. die y-Koordinate ist ungewöhnlicherweise nach
die x-Koordinate). Die z-Koordinate ist nur für einige ungewöhnliche
Eingabegeräte und ist ansonsten auf Null gesetzt.
- Alle Ereignisse, die als separate Elemente aufgetreten sind; normalerweise gibt es nur eines.
Eine Veranstaltung besteht aus GEDRÜCKT, FREIGEGEBEN, KLICKTE, DOPPELT_GEKLICKT or
DREIFACH_GEKLICKT unmittelbar gefolgt (im selben Element) von der Anzahl der
die Taste.
- Wenn die Umschalttaste gedrückt wurde, wird die Zeichenfolge SHIFT.
- Wenn die Strg-Taste gedrückt wurde, wird die Zeichenfolge CTRL.
- Wenn die Alt-Taste gedrückt wurde, wird die Zeichenfolge ALT.
Nicht alle Mausereignisse werden an das Terminalfenster weitergeleitet; die meisten Terminal
Emulatoren verarbeiten einige Mausereignisse selbst. Beachten Sie, dass das Ncurses-Handbuch
bedeutet, dass die Verwendung von Eingaben mit und ohne Maussteuerung dazu führen kann, dass die Maus
Cursor erscheint und verschwindet.
Der Unterbefehl Maus kann die Verwendung der Maus konfiguriert werden. Es gibt keine
Fensterargument; Mausoptionen sind global. `zcurses Maus' ohne Argumente
Gibt den Status 0 zurück, wenn die Mausbedienung möglich ist, andernfalls den Status 1. Andernfalls
Mögliche Argumente (die in derselben Befehlszeile kombiniert werden können) sind wie folgt.
verzögern num legt die maximale Verzögerung in Millisekunden zwischen Drücken- und Loslassen-Ereignissen fest
als Klick gewertet werden soll; der Wert 0 deaktiviert die Klickauflösung, und der Standardwert
beträgt eine Sechstelsekunde. Bewegung gefolgt von einem optionalen `+' (Standard) oder -
schaltet die Meldung von Mausbewegungen zusätzlich zu Klicks, Drücken und
Releases, die immer gemeldet werden. Es scheint jedoch Berichte für Mausbewegungen
sind derzeit nicht implementiert.
Der Unterbefehl Timeout gibt einen Timeout-Wert für die Eingabe von Zielgewinn. Wenn
Intervall ist negativ, `zcurses Varianten des Eingangssignals:' wartet unbegrenzt darauf, dass ein Zeichen eingegeben wird;
Dies ist die Standardeinstellung. Wenn Intervall ist Null, `zcurses Varianten des Eingangssignals:' kehrt sofort zurück; wenn
Bei einer Typeahead-Funktion wird diese zurückgegeben, andernfalls erfolgt keine Eingabe und der Status 1 wird zurückgegeben.
If Intervall ist positiv, `zcurses Varianten des Eingangssignals:' wartet Intervall Millisekunden für die Eingabe und wenn
wenn am Ende dieses Zeitraums keiner vorhanden ist, wird der Status 1 zurückgegeben.
Der Unterbefehl Abfragezeichen fragt das Zeichen an der aktuellen Cursorposition ab. Die
Die Rückgabewerte werden im Array mit dem Namen gespeichert. stoppen falls angegeben, sonst im Array
antworten. Der erste Wert ist das Zeichen (das ein Multibyte-Zeichen sein kann, wenn das
das System unterstützt sie); das zweite ist das Farbpaar in der üblichen fg_col/bg_col
Notation oder 0 wenn Farbe nicht unterstützt wird. Alle anderen Attribute als Farbe, die
gelten für den Charakter, wie mit dem Unterbefehl festgelegt attr, erscheinen als zusätzliche
Elemente.
Kenngrößen
ZCURSES_COLORS
Schreibgeschützte Ganzzahl. Die maximale Anzahl von Farben, die das Terminal unterstützt. Dieser Wert
wird von der Curses-Bibliothek initialisiert und ist erst beim ersten Mal verfügbar
zcurses init es läuft.
ZCURSES_COLOR_PAIRS
Nur lesbare Ganzzahl. Die maximale Anzahl von Farbpaaren fg_col/bg_col Das könnte sein
definiert in `zcurses attr' Befehle; beachten Sie, dass diese Begrenzung für alle Farbpaare gilt, die
verwendet wurden, unabhängig davon, ob sie gerade aktiv sind oder nicht. Dieser Wert wird initialisiert
von der Curses-Bibliothek und ist erst beim ersten Mal verfügbar zcurses init is
laufen.
zcurses_attrs
Schreibgeschütztes Array. Die Attribute werden unterstützt von zsh/curses; verfügbar, sobald die
Modul ist geladen.
zcurses_colors
Schreibgeschütztes Array. Die Farben werden unterstützt von zsh/curses; verfügbar, sobald die
Modul ist geladen.
zcurses_keycodes
Schreibgeschütztes Array. Die Werte, die im zweiten Parameter zurückgegeben werden können,
zu `zcurses Varianten des Eingangssignals:' in der Reihenfolge, in der sie intern durch Flüche definiert werden.
Es sind nicht alle Funktionstasten aufgeführt, nur F0; Flüche reserviert Platz für F0 bis zu F63.
zcurses_windows
Nur-Lese-Array. Die aktuelle Liste der Fenster, d.h. alle Fenster, die
erstellt mit `zcurses addwin' und nicht mit ` entferntzcurses delwin'.
ZSH/DATETIME MODULE
Die zsh/datetime Das Modul stellt einen integrierten Befehl zur Verfügung:
strftime [ -s Skalar ] Format Epochenzeit
strftime -r [ -q ] [ -s Skalar ] Format Zeitzeichenfolge
Geben Sie das Datum aus, das durch Epochenzeit in England, Format angegeben. Sehen strftime(3) für
Details. Die im Abschnitt ERWEITERUNG VON EINGABESEQUENZEN beschriebenen zsh-Erweiterungen
in zschmisc(1) sind ebenfalls verfügbar.
-q Leise ausführen; das Drucken aller unten beschriebenen Fehlermeldungen unterdrücken.
Fehler für ungültige Epochenzeit Werte werden immer gedruckt.
-r Mit der Option -r (umgekehrt), verwenden Format um die Eingabezeichenfolge zu analysieren
Zeitzeichenfolge und geben Sie die Anzahl der Sekunden seit der Epoche aus, in der die
Zeitpunkt aufgetreten ist. Das Parsen wird durch die Systemfunktion strptime;
sehen strptime(3). Dies bedeutet, dass zsh-Formaterweiterungen nicht verfügbar sind.
für die umgekehrte Suche sind sie jedoch nicht erforderlich.
In den meisten Implementierungen von strftime jeder Zeitzone in der Zeitzeichenfolge is
ignoriert und die lokale Zeitzone wird vom TZ Umgebungsvariable ist
verwendet; andere Parameter werden auf Null gesetzt, wenn sie nicht vorhanden sind.
If Zeitzeichenfolge stimmt nicht überein Format Der Befehl gibt den Status 1 zurück und druckt
eine Fehlermeldung. Wenn Zeitzeichenfolge Streichhölzer Format aber nicht alle Zeichen in
Zeitzeichenfolge verwendet wurden, ist die Konvertierung erfolgreich, gibt aber auch einen Fehler aus
Nachricht.
Wenn eine der Systemfunktionen strptime or Zeit ist nicht verfügbar,
Es wird der Status 2 zurückgegeben und eine Fehlermeldung gedruckt.
-s Skalar
Weisen Sie den Datumsstring (oder die Epochenzeit in Sekunden, wenn -r gegeben ist) zu Skalar
anstatt es auszudrucken.
Beachten Sie, dass je nach deklariertem Integralzeittyp des Systems strftime Mai
erzeugen falsche Ergebnisse für Epochenzeiten größer als 2147483647, was entspricht
to 2038-01-19 03:14:07 +0000.
Die zsh/datetime Das Modul stellt mehrere Parameter zur Verfügung. Alle sind schreibgeschützt:
EPOCHREALZEIT
Ein Gleitkommawert, der die Anzahl der Sekunden seit der Epoche darstellt. Der
Die theoretische Genauigkeit liegt im Nanosekundenbereich, wenn clock_gettime Anruf verfügbar ist und
Mikrosekunden sonst, aber in der Praxis der Bereich der doppelten Genauigkeit Floating
Punkt- und Shell-Planungslatenzen können erhebliche Auswirkungen haben.
EPOCHESEKUNDEN
Ein ganzzahliger Wert, der die Anzahl der Sekunden seit der Epoche darstellt.
Epochenzeit
Ein Array-Wert, der die Anzahl der Sekunden seit der Epoche in der ersten
Element und die verbleibende Zeit seit der Epoche in Nanosekunden im zweiten
Element. Um sicherzustellen, dass die beiden Elemente konsistent sind, sollte das Array kopiert werden oder
andernfalls wird als einzelne Substitution referenziert, bevor die Werte verwendet werden. Die
folgende Redewendung kann verwendet werden:
für Sekunden ns in $Epochenzeit; do
...
erledigt
ZSH/DB/GDBM MODULE
Die zsh/db/gdbm Das Modul wird verwendet, um "gebundene" assoziative Arrays zu erstellen, die eine Schnittstelle zu
Datenbankdateien. Wenn die GDBM-Schnittstelle nicht verfügbar ist, werden die von dieser
Modul meldet einen Fehler. Dieses Modul dient auch als Prototyp für die Erstellung
zusätzliche Datenbankschnittstellen, so dass die ztie builtin kann zu einem allgemeineren Modul in
die Zukunft.
Die in diesem Modul integrierten Funktionen sind:
ztie -d db/gdbm -f Dateinamen [ -r ] Arrayname
Öffnen Sie die GDBM-Datenbank, die durch Dateinamen und, wenn erfolgreich, erstellen Sie die
assoziatives Array Arrayname mit der Datei verknüpft. Um ein lokales gebundenes Array zu erstellen,
Parameter müssen zuerst deklariert werden, daher wären Befehle ähnlich dem folgenden
innerhalb eines Funktionsbereichs ausgeführt:
aus einer regionalen -A Beispieldatenbank
ztie -d db/gdbm -f sample.gdbm Beispieldatenbank
Die -r Die Option öffnet die Datenbankdatei nur zum Lesen und erstellt einen Parameter mit
das schreibgeschützte Attribut. Ohne diese Option wird die Verwendung von `ztie' auf einer Datei, für die die
Benutzer hat keine Schreibberechtigung ist ein Fehler. Wenn beschreibbar, ist die Datenbank
synchron geöffnet, so dass Felder geändert wurden in Arrayname werden sofort angeschrieben
Dateinamen.
Änderungen an den Dateimodi Dateinamen nach dem Öffnen den Zustand nicht verändern
of Arrayname, aber `setzen -r Arrayname' funktioniert wie erwartet.
zuntie [ -u ] Arrayname ...
Schließen Sie die GDBM-Datenbank, die mit jedem Arrayname und deaktivieren Sie dann die
Parameter. Das -u Option erzwingt das Aufheben der Festlegung von Parametern, die mit ` schreibgeschützt sind.ztie
-r'.
Dies geschieht automatisch, wenn der Parameter explizit nicht gesetzt ist oder sein lokaler Gültigkeitsbereich
(Funktion) endet. Beachten Sie, dass ein schreibgeschützter Parameter nicht explizit aufgehoben werden kann,
die einzige Möglichkeit, einen globalen Parameter aufzuheben, der mit ` erstellt wurdeztie -r' ist die Verwendung von `zuntie
-u'.
Die Felder eines assoziativen Arrays, das an GDBM gebunden ist, werden weder zwischengespeichert noch anderweitig gespeichert in
Speicher, sie werden bei jeder Referenz aus der Datenbank gelesen oder in die Datenbank geschrieben. So für
Beispielsweise können die Werte in einem schreibgeschützten Array von einem zweiten Schreiber desselben Arrays geändert werden.
Datenbankdatei.
ZSH/DELTOCHAR MODULE
Die zsh/deltochar Das Modul stellt zwei ZLE-Funktionen zur Verfügung:
Löschen bis Zeichen
Ein Zeichen von der Tastatur lesen und von der Cursorposition bis zu und löschen
einschließlich der nächsten (oder, mit Wiederholungszählung nden nte) Instanz dieses Zeichens.
Negative Wiederholungszahlen bedeuten, dass rückwärts gelöscht wird.
Zap-to-Char
Dies verhält sich wie Löschen bis Zeichen, außer dass das letzte Vorkommen des Zeichens
selbst wird nicht gelöscht.
ZSH/BEISPIEL MODULE
Die zsh/Beispiel Das Modul stellt einen integrierten Befehl zur Verfügung:
Beispiel [ -Flaggen ] [ args ... ]
Zeigt die Flags und Argumente an, mit denen es aufgerufen wird.
Der Zweck des Moduls besteht darin, als Beispiel für das Schreiben eines Moduls zu dienen.
ZSH/DATEIEN MODULE
Die zsh/files Das Modul stellt einige allgemeine Befehle zur Dateimanipulation zur Verfügung, wie
Builtins; diese Befehle werden in vielen normalen Situationen wahrscheinlich nicht benötigt, können aber
nützlich in Notfall-Wiederherstellungssituationen mit eingeschränkten Ressourcen. Die Befehle
Implementieren Sie alle Funktionen, die jetzt von den relevanten Normungsausschüssen gefordert werden.
Für alle Befehle gibt es eine Variante, die beginnt zf_ ist ebenfalls verfügbar und wird automatisch geladen.
Durch die Verwendung der Funktionsfähigkeit von zmodload können Sie nur die gewünschten Namen laden.
Beachten Sie, dass es möglich ist, nur die Builtins mit zsh-spezifischen Namen zu laden, indem Sie den
folgender Befehl:
zmodload -m -F zsh/files b:zf_\*
Die standardmäßig geladenen Befehle sind:
chgrp [ -hRs ] Gruppe Dateinamen ...
Ändert die angegebene Dateigruppe. Dies entspricht chown mit einem Benutzerspezifikation
Argument von `:Gruppe'.
chown [ -hRs ] Benutzerspezifikation Dateinamen ...
Ändert den Eigentümer und die Gruppe der angegebenen Dateien.
Die Benutzerspezifikation kann vier Formen annehmen:
Benutzer Besitzer ändern in Benutzer; Gruppe nicht ändern
Benutzer:: Besitzer ändern in Benutzer; Gruppe nicht ändern
Benutzer: Besitzer ändern in Benutzer; Gruppe ändern in Benutzer's primäre Gruppe
Benutzer:Gruppe
Besitzer ändern in Benutzer; Gruppe ändern in Gruppe
:Gruppe Besitzer nicht ändern; Gruppe ändern in Gruppe
In jedem Fall ist die `:' kann stattdessen ein ` sein..'. Die Regel ist, dass, wenn es ein `:'
dann ist das Trennzeichen `:', andernfalls, wenn ein `.' dann ist das Trennzeichen `.',
andernfalls gibt es kein Trennzeichen.
Jeder von Benutzer und Gruppe kann entweder ein Benutzername (oder Gruppenname, je nach Bedarf) sein oder
eine dezimale Benutzerkennung (Gruppenkennung). Die Interpretation als Name hat Vorrang, wenn
ist ein rein numerischer Benutzername (oder Gruppenname).
Wenn das Ziel ein symbolischer Link ist, -h Option verursacht chown um den Besitz festzulegen
des Links statt seines Ziels.
Die -R Option verursacht chown rekursiv in Verzeichnisse abzusteigen und dabei die
Eigentumsrechte an allen Dateien im Verzeichnis nach der Änderung der Eigentumsrechte an
Verzeichnis selbst.
Die -s Option ist eine Zsh-Erweiterung für chown Funktionalität. Es ermöglicht paranoide
Verhalten, das Sicherheitsprobleme im Zusammenhang mit einem chown ausgetrickst werden
andere Dateien als die beabsichtigten beeinflussen. Es wird sich weigern, symbolische
Links, so dass (zum Beispiel) ``chown luster /tmp/foo/passwd'' kann nicht versehentlich
chown / etc / passwd if /tmp/foo ist zufällig ein Link zu / Etc. Es wird auch geprüft
wo es nach dem Verlassen von Verzeichnissen ist, so dass eine rekursive chown eines tiefen
Verzeichnisbaum kann nicht rekursiv chowning enden / usr als Ergebnis von Verzeichnissen
den Baum hinaufbewegt werden.
ln [ -dfhins ] Dateinamen dest
ln [ -dfhins ] Dateinamen ... dir
Erzeugt harte (oder, mit -s, symbolische) Links. In der ersten Form wird der angegebene
destination wird als Link zu dem angegebenen DateinamenIn der zweiten Form
jedes von den Dateinamens wird der Reihe nach genommen und mit einem Pfadnamen in der angegebenen
dirVerzeichnis, das dieselbe letzte Pfadnamenkomponente hat.
Normalerweise ln versucht nicht, Hardlinks zu Verzeichnissen zu erstellen. Diese Prüfung kann
überschrieben werden mit dem -d Option. Normalerweise kann nur der Superuser
gelingt es nicht, harte Links zu Verzeichnissen zu erstellen. Dies gilt nicht für symbolische
Links auf jeden Fall.
Standardmäßig können vorhandene Dateien nicht durch Links ersetzt werden. -i Option verursacht die
Benutzer wird gefragt, ob vorhandene Dateien ersetzt werden sollen. Die -f Option bewirkt, dass bestehende
Dateien können stillschweigend und ohne Rückfrage gelöscht werden. -f hat Vorrang.
Die -h und -n Optionen sind identisch und beide existieren aus Kompatibilitätsgründen; entweder eine
gibt an, dass das Ziel nicht dereferenziert werden soll, wenn es sich um einen symbolischen Link handelt.
Typischerweise wird dies in Kombination mit verwendet -sf Wenn also ein vorhandener Link
in ein Verzeichnis, dann wird es entfernt, anstatt verfolgt. Wenn diese Option
mit mehreren Dateinamen verwendet und das Ziel ist ein symbolischer Link, der auf eine
Verzeichnis, dann ist das Ergebnis ein Fehler.
mkdir [ -p ] [ -m Modus ] dir ...
Erstellt Verzeichnisse. Mit dem -p Option, nicht vorhandene übergeordnete Verzeichnisse werden zuerst
erstellt, wenn nötig, und es wird keine Beschwerde geben, wenn das Verzeichnis bereits
existiert. Die -m Mit dieser Option können Sie (in Oktal) eine Reihe von Dateiberechtigungen angeben
für die erstellten Verzeichnisse, sonst Modus 777 modifiziert durch die aktuelle umask (sehen
umask(2)) verwendet wird.
mv [ -Sei ] Dateinamen dest
mv [ -Sei ] Dateinamen ... dir
Verschiebt Dateien. In der ersten Form wird die angegebene Dateinamen wird an die angegebene
destIn der zweiten Form wird jeder der Dateinamens wird der Reihe nach genommen und bewegt
zu einem Pfadnamen im angegebenen dirVerzeichnis, das dieselbe letzte Pfadnamenkomponente hat.
Standardmäßig wird der Benutzer vor dem Ersetzen einer Datei, die er nicht
beschreibbar, aber beschreibbare Dateien werden stillschweigend gelöscht. Die -i Option verursacht die
Benutzer wird gefragt, ob vorhandene Dateien ersetzt werden sollen. Die -f Option bewirkt, dass
vorhandene Dateien stillschweigend und ohne Rückfrage gelöscht werden. -f hat Vorrang.
Beachten Sie, dass diese mv verschiebt keine Dateien zwischen Geräten. Historische Versionen von mv,
Wenn eine tatsächliche Umbenennung nicht möglich ist, greifen Sie auf das Kopieren und Entfernen von Dateien zurück.
Wenn dieses Verhalten gewünscht ist, verwenden Sie cp und rm manuell. Dies kann sich in Zukunft ändern
Version.
rm [ -dfirs ] Dateinamen ...
Entfernt die angegebenen Dateien und Verzeichnisse.
Normalerweise rm entfernt keine Verzeichnisse (außer mit dem -r Möglichkeit). Die -d
Option verursacht rm um zu versuchen, Verzeichnisse zu entfernen mit Verknüpfung aufheben (sehen Verknüpfung aufheben(2)), das gleiche
Methode für Dateien. Normalerweise kann nur der Superuser tatsächlich erfolgreich sein
Aufheben der Verknüpfung von Verzeichnissen auf diese Weise. -d hat Vorrang -r.
Standardmäßig wird der Benutzer vor dem Entfernen einer Datei, die er nicht
beschreibbar, aber beschreibbare Dateien werden stillschweigend gelöscht. Die -i Option verursacht die
Benutzer wird gefragt, ob Dateien entfernt werden sollen. Die -f Option bewirkt, dass Dateien
stillschweigend, ohne Rückfrage gelöscht und sämtliche Fehlermeldungen unterdrückt. -f nimmt
Vorrang.
Die -r Option verursacht rm rekursiv in Verzeichnisse absteigen und alle Dateien löschen
im Verzeichnis, bevor Sie das Verzeichnis mit dem rmdir Systemaufruf (siehe
rmdir(2)).
Die -s Option ist eine Zsh-Erweiterung für rm Funktionalität. Es ermöglicht paranoide
Verhalten, das allgemeine Sicherheitsprobleme im Zusammenhang mit einem Root-Run vermeiden soll rm Sein
dazu verleitet, andere Dateien als die beabsichtigten zu entfernen. Es wird sich weigern, zu folgen
symbolische Links, so dass (zum Beispiel) ``rm /tmp/foo/passwd'' kann nicht versehentlich
entfernen / etc / passwd if /tmp/foo ist zufällig ein Link zu / Etc. Es wird auch geprüft
wo es nach dem Verlassen von Verzeichnissen ist, so dass eine rekursive Entfernung einer tiefen
Verzeichnisbaum kann nicht rekursiv entfernen / usr als Ergebnis von Verzeichnissen
den Baum hinaufbewegt werden.
rmdir dir ...
Entfernt die angegebenen leeren Verzeichnisse.
synchronisieren Ruft den gleichnamigen Systemaufruf auf (siehe synchronisieren(2)), wodurch schmutzige Puffer geleert werden
auf die Festplatte. Es kann zu einer Rückkehr kommen, bevor der E/A-Vorgang tatsächlich abgeschlossen ist.
ZSH/LANGINFO MODULE
Die zsh/langinfo Das Modul stellt einen Parameter zur Verfügung:
Sprachinfo
Ein assoziatives Array, das Langinfo-Elemente ihren Werten zuordnet.
Ihre Implementierung unterstützt möglicherweise eine Reihe der folgenden Schlüssel:
CODESATZ, D_T_FMT, D_FMT, T_FMT, RADIXCHAR, THOUSEP, JAEXPR, NOEXPR, CRNCYSTR,
ABDAY_{1..7}, TAG_{1..7}, ABMON_{1..12}, MON_{1..12}, T_FMT_AMPM, AM_STR, PM_STR,
ERA, ERA_D_FMT, ERA_D_T_FMT, ERA_T_FMT, ALT_DIGITS
ZSH/MAPFILE MODULE
Die zsh/mapfile Das Modul stellt einen speziellen assoziativen Array-Parameter mit demselben Namen bereit.
Kartendatei
Dieses assoziative Array verwendet als Schlüssel die Namen von Dateien; der resultierende Wert ist der
Inhalt der Datei. Der Wert wird genauso behandelt wie jeder andere Text, der
aus einem Parameter. Der Wert kann auch zugewiesen werden, in diesem Fall die Datei in
Frage geschrieben ist (unabhängig davon, ob sie ursprünglich existierte oder nicht); oder ein Element kann
unset, wodurch die betreffende Datei gelöscht wird. Zum Beispiel `variiert
Mapfile[meineDatei]' funktioniert wie erwartet, das Bearbeiten der Datei `meine Datei'.
Beim Zugriff auf das gesamte Array sind die Schlüssel die Namen der Dateien im
aktuelles Verzeichnis und die Werte sind leer (um einen enormen Speicheraufwand zu sparen).
So ${(k)mapfile} hat die gleiche Wirkung wie der Glob-Operator *(D), da Dateien
mit einem Punkt beginnen, sind nichts Besonderes. Vorsicht ist geboten bei Ausdrücken wie
rm ${(k)mapfile}, wodurch alle Dateien im aktuellen Verzeichnis gelöscht werden, ohne dass
üblich `rm *' prüfen.
Der Parameter Kartendatei kann schreibgeschützt sein; in diesem Fall dürfen die referenzierten Dateien nicht
geschrieben oder gelöscht werden.
Eine Datei kann bequem in ein Array als eine Zeile pro Element mit der Form eingelesen werden
`Array=("${(f@)mapfile[Dateinamen]}")'. Die doppelten Anführungszeichen und das `@' sind notwendig
um zu verhindern, dass leere Zeilen entfernt werden. Beachten Sie, dass, wenn die Datei mit einem
Wenn die Shell eine neue Zeile eingibt, wird sie bei der letzten neuen Zeile aufgeteilt, wodurch eine zusätzliche leere Zeile erzeugt wird.
Feld; dies kann unterdrückt werden durch die Verwendung von
`Array=("${(f@)${Mapdatei[Dateinamen]%$'\n'}}")'.
Einschränkungen
Obwohl das Lesen und Schreiben der betreffenden Datei effizient abgewickelt wird,
Die interne Speicherverwaltung kann beliebig barock sein; jedoch Kartendatei ist in der Regel sehr
viel effizienter als alles, was eine Schleife beinhaltet. Beachten Sie insbesondere, dass die gesamte
Der Inhalt der Datei bleibt beim Zugriff immer physisch im Speicher (möglicherweise
mehrfach, aufgrund von Standardparameter-Substitutionsoperationen). Insbesondere dies
bedeutet die Handhabung ausreichend langer Dateien (größer als der Swap-Speicher der Maschine oder als
der Bereich des Zeigertyps) ist falsch.
Für nicht vorhandene, nicht lesbare oder nicht beschreibbare Dateien werden keine Fehler gedruckt oder markiert, da die
Der Parametermechanismus ist in der Shell-Ausführungshierarchie zu weit unten angesiedelt, um dies bequem zu ermöglichen.
Es ist bedauerlich, dass der Mechanismus zum Laden von Modulen es dem Benutzer noch nicht erlaubt,
Geben Sie den Namen des Shell-Parameters an, der das spezielle Verhalten erhalten soll.
ZSH/MATHFUNC MODULE
Die zsh/mathfunc Das Modul bietet standardmäßige mathematische Funktionen zur Verwendung bei der Auswertung
mathematische Formeln. Die Syntax entspricht den üblichen C- und FORTRAN-Konventionen, z. B.
Beispiel
(( f = Sünde(0.3) ))
weist dem Parameter f den Sinus von 0.3 zu.
Die meisten Funktionen akzeptieren Gleitkommazahlen und geben einen Gleitkommawert zurück.
Alle notwendigen Konvertierungen vom oder zum Integer-Typ werden automatisch vom
Schale. Abgesehen von eine Lohe mit einem zweiten Argument und der abs, int und schweben Funktionen, alle
Funktionen verhalten sich wie in der Handbuchseite für die entsprechende C-Funktion angegeben, mit der Ausnahme, dass
Alle Argumente außerhalb des gültigen Bereichs für die betreffende Funktion werden von der Shell erkannt und
ein Fehler gemeldet.
Die folgenden Funktionen akzeptieren ein einzelnes Gleitkommaargument: akos, acosch, asin, asinh,
eine Lohe, atanh, cbrt, ceil, cos, cosch, erf, erfc, exp, expm1, Fabs, Boden, Gamma, j0, j1,
lgamma, Log, Log10, log1p, logb, Sünde, Sinh, sqrt, Bräune, fischig, y0, y1dem „Vermischten Geschmack“. Seine eine Lohe Funktion
kann optional ein zweites Argument annehmen, in diesem Fall verhält es sich wie die C-Funktion atan2.
Die ilogb Die Funktion akzeptiert ein einzelnes Gleitkommaargument, gibt aber eine Ganzzahl zurück.
Die Funktion Zeichengam nimmt keine Argumente an und gibt eine Ganzzahl zurück, die die C-Variable ist
mit dem gleichen Namen, wie beschrieben in Gamma(3). Es ist daher nur sinnvoll,
unmittelbar nach einem Anruf bei Gamma or lgamma. Beachten Sie auch, dass `signgam()' und `Zeichengam' sind
unterschiedliche Ausdrücke.
Die folgenden Funktionen akzeptieren zwei Gleitkommaargumente: Copysign, fmod, hypote,
nextafter.
Das Folgende verwendet als erstes Argument eine Ganzzahl und als zweites Argument eine Gleitkommazahl: jn, yn.
Das Folgende verwendet als erstes Argument einen Gleitkommawert und als zweites Argument einen Ganzzahlwert: ldexp,
Verbrühung.
Die Funktion abs konvertiert den Typ seines einzelnen Arguments nicht; es gibt den absoluten
Wert entweder einer Gleitkommazahl oder einer Ganzzahl. Die Funktionen schweben und int
Konvertieren Sie ihre Argumente in einen Gleitkomma- oder Ganzzahlwert (durch Abschneiden).
beziehungsweise.
Beachten Sie, dass das C pow Funktion ist in der normalen mathematischen Auswertung als ` verfügbar**'-Operator
und wird hier nicht bereitgestellt.
Die Funktion Rand48 ist verfügbar, wenn die mathematische Bibliothek Ihres Systems die Funktion hat
erand48(3). Es gibt eine pseudozufällige Gleitkommazahl zwischen 0 und 1 zurück. Es benötigt eine
einzelnes optionales Zeichenfolgenargument.
Wenn das Argument nicht vorhanden ist, wird der Zufallszahlen-Seed durch drei Aufrufe von initialisiert
die and(3) Funktion --- diese erzeugt die gleichen Zufallszahlen wie die nächsten drei Werte von
$ ZUFÄLLIG.
Wenn das Argument vorhanden ist, gibt es den Namen eines Skalarparameters an, bei dem der aktuelle
Der Startwert der Zufallszahl wird gespeichert. Beim ersten Aufruf muss der Wert mindestens
zwölf hexadezimale Ziffern (der Rest der Zeichenfolge wird ignoriert), oder der Seed wird
auf die gleiche Weise initialisiert wie bei einem Anruf an Rand48 ohne Argument. Nachfolgende Aufrufe
zu Rand48(stoppen) behält dann den Seed im Parameter bei stoppen als Zwölferkette
hexadezimale Ziffern, ohne Basissignifikator. Die Zufallszahlenfolgen für verschiedene
Parameter sind völlig unabhängig und auch unabhängig von denen, die von Aufrufen verwendet werden
Rand48 ohne Argument.
Zum Beispiel betrachten
drucken $(( rand48(Seed) ))
drucken $(( rand48() ))
drucken $(( rand48(Seed) ))
Unter der Annahme, $Samen nicht existiert, wird es beim ersten Aufruf initialisiert. Im zweiten
Aufruf wird der Standard-Seed initialisiert. Beachten Sie jedoch, dass aufgrund der Eigenschaften von
rand () Es besteht eine Korrelation zwischen den für die beiden Initialisierungen verwendeten Seeds, also für
Für sicherere Anwendungen sollten Sie Ihren eigenen 12-Byte-Seed generieren. Der dritte Aufruf kehrt zurück zu
dieselbe Folge von Zufallszahlen, die beim ersten Anruf verwendet wurde, unbeeinflusst von den dazwischenliegenden
rand48().
ZSH/NEWUSER MODULE
Die zsh/newuser Modul wird beim Booten geladen, wenn es verfügbar ist. RCS Option ist aktiviert und
die PRIVILEGIERT Option nicht gesetzt ist (alle drei sind standardmäßig wahr). Dies geschieht
unmittelbar nach Befehlen im globalen zshenv Datei (normalerweise /etc/zshenv), falls vorhanden,
ausgeführt wurde. Wenn das Modul nicht verfügbar ist, wird es von der Shell stillschweigend ignoriert; die
Modul kann sicher entfernt werden aus $MODULE_PATH vom Administrator, wenn es nicht benötigt wird.
Beim Laden prüft das Modul, ob eine der Startdateien .zshenv, .zprofile, .zshrc or
.zlogin befinden sich im durch die Umgebungsvariable angegebenen Verzeichnis ZDOTDIRoder des Benutzers
Home-Verzeichnis, wenn dieses nicht festgelegt ist. Der Test wird nicht durchgeführt und das Modul wird angehalten
Verarbeitung, wenn sich die Shell im Emulationsmodus befand (d. h. als eine andere
Shell als zsh).
Wenn keine der Startdateien gefunden wurde, sucht das Modul nach der Datei newuser zuerst
in einem Site-weiten Verzeichnis, normalerweise das übergeordnete Verzeichnis des Site-Funktionen Verzeichnis, und
Wenn das nicht gefunden wird, sucht das Modul in einem versionsspezifischen Verzeichnis, normalerweise dem
Elternteil des Funktionen Verzeichnis mit versionsspezifischen Funktionen. (Diese
Verzeichnisse können beim Erstellen von zsh mit dem --enable-site-scriptdir=dir und
--enable-scriptdir=dir Fahnen zu konfigurieren; die Standardwerte sind Präfix/share/zsh
und Präfix/share/zsh/$ZSH_VERSION wo die Standardeinstellung Präfix is Verzeichnis / usr / local.)
Wenn die Datei newuser gefunden wird, wird es auf die gleiche Weise wie eine Startdatei bezogen.
Die Datei sollte Code zum Installieren von Startdateien für den Benutzer enthalten.
gültiger Shellcode wird ausgeführt.
Die zsh/newuser Das Modul wird dann bedingungslos entladen.
Beachten Sie, dass es möglich ist, genau den gleichen Effekt zu erzielen wie die zsh/newuser Modul von
Hinzufügen von Code zu /etc/zshenv. Das Modul existiert lediglich, um der Shell zu ermöglichen,
Regelungen für neue Benutzer, ohne dass ein Eingreifen der Paketbetreuer erforderlich ist und
Systemadministratoren.
Das mit dem Modul gelieferte Skript ruft die Shell-Funktion auf zsh-newuser-install. Dies
kann direkt vom Benutzer aufgerufen werden, auch wenn die zsh/newuser Modul ist deaktiviert. Hinweis:
Wenn das Modul jedoch nicht installiert ist, wird auch die Funktion nicht installiert.
Die Funktion ist im Abschnitt Benutzerkonfigurationsfunktionen in zshcontrib(1).
ZSH/PARAMETER MODULE
Die zsh/Parameter Modul ermöglicht den Zugriff auf einige der internen Hash-Tabellen, die von der
Shell, indem Sie einige spezielle Parameter definieren.
Optionen
Die Schlüssel für dieses assoziative Array sind die Namen der Optionen, die eingestellt werden können
und unscharf geschaltet werden. setopt und unsetopt Builtins. Der Wert jedes Schlüssels ist entweder
die Saite on wenn die Option aktuell gesetzt ist, oder die Zeichenfolge WOW! wenn die Option
nicht gesetzt. Das Setzen eines Schlüssels auf eine dieser Zeichenfolgen ist wie das Setzen oder Aufheben der
Option bzw.. Das Aufheben der Festlegung eines Schlüssels in diesem Array ist wie das Setzen auf den Wert
WOW!.
Befehle
Dieses Array ermöglicht den Zugriff auf die Befehls-Hash-Tabelle. Die Schlüssel sind die Namen von
externe Befehle, die Werte sind die Pfadnamen der Dateien, die ausgeführt werden würden
wann der Befehl aufgerufen werden soll. Das Setzen eines Schlüssels in diesem Array definiert einen neuen Eintrag
in dieser Tabelle auf die gleiche Weise wie bei der Hash- eingebaut. Aufheben der Festlegung eines Schlüssels wie in
`ungesetzt "Befehle[foo]"' entfernt den Eintrag für den angegebenen Schlüssel aus dem Befehls-Hash
Tabelle.
Funktionen
Dieses assoziative Array ordnet die Namen aktivierter Funktionen ihren Definitionen zu.
Das Festlegen eines Schlüssels darin ist wie das Definieren einer Funktion mit dem durch den Schlüssel gegebenen Namen und
der durch den Wert angegebene Hauptteil. Durch das Aufheben der Festlegung eines Schlüssels wird die Definition für den
Funktion, die durch den Schlüssel benannt ist.
Funktionsstörungen
Like Funktionen aber für deaktivierte Funktionen.
gebaut
Dieses assoziative Array gibt Auskunft über die aktuell eingebauten Befehle
aktiviert. Die Schlüssel sind die Namen der eingebauten Befehle und die Werte sind entweder
`undefiniert' für eingebaute Befehle, die automatisch aus einem Modul geladen werden, wenn
aufgerufen oder `definiert' für integrierte Befehle, die bereits geladen sind.
dis_builtins
Like gebaut aber für deaktivierte integrierte Befehle.
Reswords
Dieses Array enthält die aktivierten reservierten Wörter.
dis_reswords
Like Reswords aber für deaktivierte reservierte Wörter.
Patchars
Dieses Array enthält die aktivierten Musterzeichen.
dis_patchars
Like Patchars aber für deaktivierte Musterzeichen.
Aliase
Dadurch werden die Namen der aktuell aktivierten regulären Aliase ihren Erweiterungen zugeordnet.
dis_aliases
Like Aliase aber für deaktivierte reguläre Aliase.
Galiasen
Like Aliase, aber für globale Aliase.
dis_galiases
Like Galiasen aber für deaktivierte globale Aliase.
Saliasen
Like Aliase, aber für Suffix-Aliase.
dis_saliases
Like Saliasen aber für deaktivierte Suffix-Aliase.
Parameter
Die Schlüssel in diesem assoziativen Array sind die Namen der Parameter, die derzeit
definiert. Die Werte sind Zeichenfolgen, die den Typ des Parameters beschreiben, in der gleichen
Format, das von der verwendet wird t Parameterflag, siehe zshexpn(1) . Schlüssel sperren oder entsperren in
dieses Array ist nicht möglich.
Module
Ein assoziatives Array, das Informationen über Module enthält. Die Schlüssel sind die Namen von
die Module geladen, für das automatische Laden registriert oder als Alias verwendet werden. Der Wert gibt an, welche
Zustand, in dem sich das benannte Modul befindet und einer der Strings ` istbeladen', `automatisch geladen', oder
`alias:Name', wo Name ist der Name, auf den das Modul als Alias verweist.
Das Setzen oder Aufheben der Schlüssel in diesem Array ist nicht möglich.
Dirstack
Ein normales Array, das die Elemente des Verzeichnisstapels enthält. Beachten Sie, dass die Ausgabe von
die dirs Der eingebaute Befehl enthält ein weiteres Verzeichnis, das aktuelle Arbeitsverzeichnis
Verzeichnis.
Geschichte
Dieses assoziative Array ordnet die Ereignisnummern des Verlaufs den vollständigen Verlaufszeilen zu.
Geschichtswörter
Ein spezielles Array, das die im Verlauf gespeicherten Wörter enthält.
Jobverzeichnisse
Dieses assoziative Array ordnet Jobnummern den Verzeichnissen zu, aus denen der Job
gestartet (was möglicherweise nicht das aktuelle Verzeichnis des Jobs ist).
Die Schlüssel der assoziativen Arrays sind in der Regel gültige Jobnummern, und diese sind die
Werteausgabe mit beispielsweise ${(k)jobdirs}. Nicht-numerische Arbeitszeugnisse können
Wird beim Nachschlagen eines Werts verwendet. Beispiel: ${jobdirs[%+]} bezieht sich auf die aktuelle
Job.
Stellentexte
Dieses assoziative Array ordnet Jobnummern den Texten der Befehlszeilen zu, die
wird zum Starten der Jobs verwendet.
Die Handhabung der Schlüssel des assoziativen Arrays erfolgt wie beschrieben für Jobverzeichnisse zu teilen.
Jobstates
Dieses assoziative Array gibt Auskunft über den Status der Jobs, die gerade
bekannt. Die Schlüssel sind die Jobnummern und die Werte sind Zeichenfolgen der Form
`Jobstatus:Kennzeichen:pid=Zustand...'. Der Jobstatus gibt dem Staat die ganze Aufgabe ist
derzeit in, einer von `Laufen', `suspendiert', oder `erledigt'. Das Kennzeichen ist `+' für die
aktueller Job, `-' für den vorherigen Job und ansonsten leer. Darauf folgt ein
`:pid=Zustand' für jeden Prozess im Job. Die pids sind natürlich die Prozess-IDs
und den Zustand beschreibt den Status dieses Prozesses.
Die Handhabung der Schlüssel des assoziativen Arrays erfolgt wie beschrieben für Jobverzeichnisse zu teilen.
benannte Verzeichnisse
Dieses assoziative Array ordnet die Namen benannter Verzeichnisse den Pfadnamen zu, die sie
stehen für.
Benutzerverzeichnisse
Dieses assoziative Array ordnet Benutzernamen den Pfadnamen ihrer Home-Verzeichnisse zu.
Benutzergruppen
Dieses assoziative Array bildet die Namen der Systemgruppen ab, denen der aktuelle Benutzer angehört.
Mitglied zu den entsprechenden Gruppenkennungen. Der Inhalt ist derselbe wie der
Gruppenausgabe durch die id Befehl.
Funktionfiletrace
Dieses Array enthält die absoluten Zeilennummern und die entsprechenden Dateinamen für die
Punkt, an dem die aktuelle Funktion, Quelldatei oder (falls EVAL_LINENO ist eingestellt) eval
Befehl aufgerufen wurde. Das Array hat die gleiche Länge wie funcsourcetrace und
Funktion, unterscheidet sich aber von funcsourcetrace dass die Linie und die Datei der Punkt sind
des Aufrufs, nicht der Punkt der Definition, und unterscheidet sich von Funktion dass alle Werte
sind absolute Zeilennummern in Dateien und nicht relativ zum Anfang einer
Funktion, falls vorhanden.
funcsourcetrace
Dieses Array enthält die Dateinamen und Zeilennummern der Punkte, an denen die
Funktionen, Quelldateien und (falls EVAL_LINENO ist eingestellt) eval Befehle, die derzeit ausgeführt werden
ausgeführt wurden. Die Zeilennummer ist die Zeile, in der die `Funktion Name' oder
`Name ()' gestartet. Bei einer automatisch geladenen Funktion ist die Zeilennummer
als Null gemeldet. Das Format jedes Elements ist Dateinamen:Linie NrFür Funktionen
automatisch aus einer Datei im nativen zsh-Format geladen, wobei nur der Hauptteil der Funktion
in der Datei auftritt, oder für Dateien, die vom Quelle oder `.'
Builtins, die Trace-Informationen werden angezeigt als Dateinamen:0, da die gesamte Datei
die Definition.
Die meisten Benutzer werden an den Informationen in der Funktionfiletrace Array
stattdessen.
Funktionsstapel
Dieses Array enthält die Namen der Funktionen, Quelldateien und (falls EVAL_LINENO
ist eingestellt) eval Befehle. derzeit ausgeführt. Das erste Element ist der Name von
die Funktion mithilfe des Parameters.
Das Standard-Shell-Array zsh_eval_context kann verwendet werden, um die Art der
Shell-Konstrukt wird in jeder Tiefe ausgeführt: Beachten Sie jedoch, dass in der
umgekehrter Reihenfolge, mit dem aktuellsten Artikel zuletzt, und es ist detaillierter, für
Beispiel mit einem Eintrag für Höchststufe, wobei der Haupt-Shell-Code entweder ausgeführt wird
interaktiv oder über ein Skript, das nicht vorhanden ist in $funcstack.
Funktion
Dieses Array enthält die Namen und Zeilennummern der Anrufer, die dem
Funktionen, die gerade ausgeführt werden. Das Format jedes Elements ist Name:Linie Nr.
Anrufer werden auch für Quelldateien angezeigt; der Anrufer ist der Punkt, an dem die Quelle
oder `.'-Befehl wurde ausgeführt.
ZSH/PCRE MODULE
Die zsh/pcre Das Modul stellt einige Befehle als integrierte Befehle zur Verfügung:
pcre_compile [ -aimxs ] PCRE
Kompiliert einen Perl-kompatiblen regulären Ausdruck.
Option -a erzwingt die Verankerung des Musters. Option -i wird eine
Muster ohne Berücksichtigung der Groß- und Kleinschreibung. Option -m wird ein mehrzeiliges Muster kompilieren; das heißt, ^
und $ passt zu Zeilenumbrüchen innerhalb des Musters. Option -x wird eine erweiterte
Muster, wobei Leerzeichen und # Kommentare werden ignoriert. Option -s macht den Punkt
Metazeichen stimmen mit allen Zeichen überein, einschließlich der Zeichen, die einen Zeilenumbruch anzeigen.
pcre_studie
Untersucht das zuvor kompilierte PCRE, was zu einer schnelleren Übereinstimmung führen kann.
pcre_match [ -v jung ] [ -a arr ] [ -n Offset ] [ -b ] Schnur
Erfolgreiche Rückgabe, wenn Schnur stimmt mit dem zuvor kompilierten PCRE überein.
Bei erfolgreicher Übereinstimmung, wenn der Ausdruck Teilzeichenfolgen in Klammern erfasst,
pcre_match setzt das Array Spiel zu diesen Teilstrings, es sei denn, die -a Option ist
gegeben, in diesem Fall wird das Array gesetzt arr. Ebenso die Variable PASSEN ZU werden wir
auf den gesamten übereinstimmenden Teil der Zeichenfolge gesetzt werden, es sei denn, die -v Option ist gegeben,
in diesem Fall die Variable jung gesetzt. Es werden keine Variablen verändert, wenn
keine erfolgreiche Übereinstimmung. Ein -n Option beginnt mit der Suche nach einer Übereinstimmung ab dem Byte Offset
Position in Schnur. Wenn der -b Option angegeben ist, wird die Variable ZPCRE_OP wird gesetzt
zu einem Offset-Paar-String, der die Byte-Offset-Positionen des gesamten
abgestimmten Teil innerhalb der Schnur. Zum Beispiel a ZPCRE_OP auf "32 45" eingestellt
gibt an, dass der übereinstimmende Teil bei Byte-Offset 32 begann und bei Byte-Offset endete
44. Hier ist die Byte-Offset-Position 45 die Position direkt nach dem übereinstimmenden
Teil. Beachten Sie, dass die Byte-Position nicht unbedingt mit der
Zeichenposition, wenn es sich um UTF-8-Zeichen handelt. Folglich ist das Byte
Offset-Positionen sind nur im Rahmen ihrer Verwendung für
anschließende Suchen auf Schnur, wobei eine Offset-Position als Argument für die -n
Option. Dies wird hauptsächlich verwendet, um die Funktion "Alle nicht überlappenden Übereinstimmungen finden" zu implementieren.
Funktionalität.
Ein einfaches Beispiel für „Alle nicht überlappenden Übereinstimmungen finden“:
string="Die Folgende Reißverschluss Codes: 78884 90210 99513"
pcre_compile -m "\d{5}"
accum=()
pcre_match -b -- $string
während [[ $? -Gl 0 ]] do
b=($=ZPCRE_OP)
accum+=$MATCH
pcre_match -b -n $b[2] -- $string
erledigt
drucken -l $akkum
Die zsh/pcre Das Modul stellt folgende Testbedingung zur Verfügung:
ausdr -pcre-match PCRE
Vergleicht eine Zeichenfolge mit einem Perl-kompatiblen regulären Ausdruck.
Zum Beispiel,
[[ "$text" -pcre-match ^d+$ ]] &&
drucken Text Variable enthält einzige "d's".
Besitzt das REMATCH_PCRE aktiviert ist, wird die =~ Operator ist äquivalent zu -pcre-match,
und den KEINE_GROSS-/Kleinschreibung_ÜBEREINSTIMMUNG Option kann verwendet werden. Beachten Sie, dass KEINE_GROSS-/Kleinschreibung_ÜBEREINSTIMMUNG trifft nie zu
die pcre_match eingebaut, verwenden Sie stattdessen die -i Schalter von pcre_compile.
ZSH/REGEX MODULE
Die zsh/regex Das Modul stellt folgende Testbedingung zur Verfügung:
ausdr -regex-match Regex
Vergleicht eine Zeichenfolge mit einem erweiterten regulären POSIX-Ausdruck. Bei erfolgreicher Übereinstimmung
Der übereinstimmende Teil der Zeichenfolge wird normalerweise in der PASSEN ZU Variable. Ob
Es gibt erfassende Klammern innerhalb des regulären Ausdrucks, dann Spiel Array-Variable
enthält diese. Wenn die Übereinstimmung nicht erfolgreich ist, werden die Variablen nicht
verändert.
Zum Beispiel,
[[ alphabetisch -regex-match ^a([^a]+)a([^a]+)a ]] &&
drucken -l $MATCH X $ match
Wenn die Option REMATCH_PCRE nicht gesetzt ist, dann =~ Der Operator lädt automatisch
dieses Modul nach Bedarf und ruft die -regex-match Betreiber.
If BASH_REMATCH gesetzt ist, dann das Array BASH_REMATCH wird gesetzt statt PASSEN ZU
und Spiel.
ZSH/SCHED MODULE
Die zsh/sched Das Modul stellt einen integrierten Befehl und einen Parameter zur Verfügung.
einplanen [-o] [+]hh:mm[:ss] Befehl ...
einplanen [-o] [+]Sekunden Befehl ...
einplanen [ -ausgleichen ]
Machen Sie einen Eintrag in der geplanten Liste der auszuführenden Befehle. Die Zeit kann
angegeben entweder in absoluter oder relativer Zeit und entweder als Stunden, Minuten und
(optional) Sekunden, getrennt durch einen Doppelpunkt, oder Sekunden allein. Eine absolute Anzahl von
Sekunden gibt die Zeit seit der Epoche (1970/01/01 00:00) an; dies ist nützlich in
Kombination mit den Funktionen in der zsh/datetime Modul, siehe zsh/datetime
Moduleintrag in zshmodules(1).
Ohne Argumente wird die Liste der geplanten Befehle ausgegeben. Wenn der geplante Befehl
hat der -o Flag gesetzt, dies wird am Anfang des Befehls angezeigt.
Mit dem Argument `-ausgleichen ', entfernt das angegebene Element aus der Liste. Die Nummerierung von
Die Liste ist fortlaufend und die Einträge sind in zeitlicher Reihenfolge, daher kann sich die Nummerierung ändern
wenn Einträge hinzugefügt oder gelöscht werden.
Befehle werden entweder unmittelbar vor einer Eingabeaufforderung ausgeführt oder während die Shell-Zeile
Editor auf Eingabe wartet. Im letzteren Fall ist es nützlich, in der Lage zu sein,
Ausgabe, die die zu bearbeitende Zeile nicht stört. Die Möglichkeit, -o
bewirkt, dass die Shell die Befehlszeile vor dem Ereignis löscht und neu zeichnet
danach. Dies sollte bei jedem geplanten Ereignis verwendet werden, das sichtbare
Ausgabe an das Terminal; es ist beispielsweise nicht erforderlich bei Ausgaben, die eine
Titelleiste des Terminalemulators.
Die einplanen builtin wird standardmäßig nicht verfügbar gemacht, wenn die Shell in einem Modus startet
Emulation einer anderen Shell. Es kann mit dem Befehl ` verfügbar gemacht werdenzmodload -F
zsh/sched b:sched'.
zsh_scheduled_events
Ein schreibgeschütztes Array, das den von der einplanen eingebaut. Die
Die Indizes des Arrays entsprechen den Zahlen, die angezeigt werden, wenn einplanen wird mit Nr. ausgeführt
Argumente (vorausgesetzt, dass die KSH_ARRAYS Option nicht gesetzt ist). Der Wert des Arrays
besteht aus der geplanten Zeit in Sekunden seit der Epoche (siehe Abschnitt `Die
zsh/datetime-Modul‘ für Möglichkeiten zur Verwendung dieser Nummer), gefolgt von einem Doppelpunkt,
gefolgt von beliebigen Optionen (die leer sein können, denen aber ein ` vorangestellt wird)-'
andernfalls), gefolgt von einem Doppelpunkt, gefolgt vom auszuführenden Befehl.
Die einplanen builtin sollte für die Manipulation der Ereignisse verwendet werden. Beachten Sie, dass dies
haben unmittelbare Auswirkungen auf den Inhalt des Arrays, so dass Indizes werden können
ungültig.
ZSH/NET/SOCKET MODULE
Die zsh/net/socket Das Modul stellt einen integrierten Befehl zur Verfügung:
zsocket [ -altv ] [ -d fd ] [ args ]
zsocket ist als integrierte Funktion implementiert, um die vollständige Nutzung der Shell-Befehlszeile zu ermöglichen
Bearbeitungs-, Datei-E/A- und Jobsteuerungsmechanismen.
Outbound Verbindungen
zsocket [ -v ] [ -d fd ] Dateinamen
Öffnen Sie eine neue Unix-Domänenverbindung zu DateinamenDer Shell-Parameter ANTWORTEN wird sein
auf den Dateideskriptor gesetzt, der mit dieser Verbindung verknüpft ist. Derzeit wird nur Stream
Verbindungen werden unterstützt.
If -d angegeben ist, wird sein Argument als Zieldateideskriptor für
die Verbindung.
Um eine ausführlichere Ausgabe zu erhalten, verwenden Sie -v.
Inbound- Verbindungen
zsocket -l [ -v ] [ -d fd ] Dateinamen
zsocket -l öffnet einen Socket, der auf DateinamenDer Shell-Parameter ANTWORTEN
wird auf den mit diesem Listener verknüpften Dateideskriptor gesetzt.
If -d angegeben ist, wird sein Argument als Zieldateideskriptor für
die Verbindung.
Um eine ausführlichere Ausgabe zu erhalten, verwenden Sie -v.
zsocket -a [ -Fernseher ] [ -d Zielfd ] listenfd
zsocket -a akzeptiert eine eingehende Verbindung zum Socket, der mit
listenfdDer Shell-Parameter ANTWORTEN wird auf den zugehörigen Dateideskriptor gesetzt
mit der eingehenden Verbindung.
If -d angegeben ist, wird sein Argument als Zieldateideskriptor für
die Verbindung.
If -t angegeben, zsocket wird zurückgegeben, wenn keine eingehende Verbindung aussteht.
Andernfalls wird auf einen gewartet.
Um eine ausführlichere Ausgabe zu erhalten, verwenden Sie -v.
ZSH/STAT MODULE
Die zsh/stat Das Modul stellt einen integrierten Befehl unter zwei möglichen Namen zur Verfügung:
zstat [ -gnNolLtTrs ] [ -f fd ] [ -H Hash- ] [ -A Array ] [ -F fmt ]
[ +Element ] [ Datei ... ]
Zustand ...
Der Befehl fungiert als Frontend für die Zustand Systemaufruf (siehe Zustand(2)). Das gleiche
Befehl ist mit zwei Namen versehen; als Name Zustand wird oft von einem externen
Befehl wird empfohlen, nur den zstat Form des Befehls verwendet wird. Diese
kann durch Laden des Moduls mit dem Befehl `zmodload -F zsh/stat
b:zstat'.
Besitzt das Zustand Wenn der Anruf fehlschlägt, wird die entsprechende Systemfehlermeldung gedruckt und der Status 1
wird zurückgegeben. Die Felder von struct Zustand geben Auskunft über die bereitgestellten Dateien
als Argumente für den Befehl. Zusätzlich zu den verfügbaren Argumenten aus dem Zustand Anruf, ein
zusätzliches Element `Link' wird bereitgestellt. Diese Elemente sind:
Gerät Die Nummer des Geräts, auf dem sich die Datei befindet.
Inode Die eindeutige Nummer der Datei auf diesem Gerät (`Inode' Nummer).
Modus Der Modus der Datei, d. h. der Dateityp und die Zugriffsberechtigungen. Mit
die -s Option wird dies als Zeichenfolge zurückgegeben, die dem ersten entspricht
Spalte in der Anzeige des ls -l Befehl.
nlink Die Anzahl der Hardlinks zur Datei.
uid Die Benutzerkennung des Eigentümers der Datei. Mit der -s Option wird dies angezeigt
als Benutzername.
gid Die Gruppen-ID der Datei. Mit der -s Option wird dies als Gruppe angezeigt
Namen.
rdev Die reine Gerätenummer. Dies ist nur für spezielle Geräte nützlich.
Größe Die Größe der Datei in Bytes.
eine Zeit
mtime
ctime Die letzten Zugriffs-, Änderungs- und Inode-Änderungszeiten der Datei,
bzw. als Anzahl der Sekunden seit Mitternacht GMT am 1. Januar,
1970. Mit dem -s Option, diese werden als Zeichenfolgen für die lokale Zeit gedruckt
Zone; das Format kann mit dem -F Option, und mit der -g ganz ohne irgendetwas tun oder drücken zu müssen.
die Zeiten sind in GMT angegeben.
schwarz
Die Anzahl der Bytes in einem Zuordnungsblock auf dem Gerät, auf dem die Datei
befindet.
Schutzmassnahmen bei Die Anzahl der von der Datei verwendeten Festplattenblöcke.
Link Wenn die Datei ein Link ist und die -L Option ist aktiv, diese enthält den Namen
der Datei, auf die verwiesen wird, andernfalls ist es leer. Beachten Sie, dass, wenn dieses Element
ausgewählt (``zstat +Link'') dann die -L Die Option wird automatisch verwendet.
Ein bestimmtes Element kann ausgewählt werden, indem man seinen Namen mit einem vorangestellten `+' in dem
Optionsliste; nur ein Element ist erlaubt. Das Element kann auf jede beliebige
eindeutigen Satz führender Zeichen. Andernfalls werden alle Elemente für alle
Dateien.
Option:
-A Array
Anstatt die Ergebnisse auf der Standardausgabe anzuzeigen, weisen Sie sie einem
Array, eins struct Zustand Element pro Array-Element für jede Datei in der Reihenfolge. In
In diesem Fall erscheint weder der Name des Elements noch der Name der Dateien
in Array es sei denn, die -t or -n Optionen wurden jeweils gegeben. Wenn -t is
gegeben, erscheint der Elementname als Präfix zum entsprechenden Array
Element; wenn -n angegeben ist, erscheint der Dateiname als separates Array-Element
vor allen anderen. Andere Formatierungsoptionen werden berücksichtigt.
-H Hash-
Ähnlich -A, sondern weisen Sie die Werte stattdessen zu Hash-Die Schlüssel sind die
oben aufgeführten Elemente. Wenn die -n Option angegeben ist, dann wird der Name des
Datei ist im Hash mit Schlüssel enthalten Name.
-f fd Verwenden Sie die Datei im Dateideskriptor fd anstelle von benannten Dateien; keine Liste von Dateien
Namen ist in diesem Fall zulässig.
-F fmt Liefert eine strftime (sehen strftime(3)) Zeichenfolge zur Formatierung der Uhrzeit
Elemente. Das -s Option ist impliziert.
-g Die Zeitelemente werden in der GMT-Zeitzone angezeigt. -s Option ist impliziert.
-l Listen Sie die Namen der Typelemente auf (in der Standardausgabe oder in einem Array als
angemessen) und sofort zurückkehren; andere Optionen als -A und Argumente sind
ignoriert.
-L Führen Sie eine lstat (sehen lstat(2)) statt einer Zustand Systemaufruf. In diesem
Handelt es sich bei der Datei um einen Link, werden Informationen über den Link selbst und nicht
die Zieldatei zurückgegeben wird. Diese Option ist erforderlich, um die Link
Element nützlich. Es ist wichtig zu beachten, dass dies das genaue Gegenteil von
ls(1) usw.
-n Zeigt immer die Dateinamen an. Normalerweise werden diese nur angezeigt, wenn die Ausgabe
zur Standardausgabe und es gibt mehr als eine Datei in der Liste.
-N Zeigen Sie niemals die Namen von Dateien an.
-o Wenn ein Rohdateimodus gedruckt wird, zeigen Sie ihn im Oktalformat an, was nützlicher ist für
menschlichen Konsum als die Standardeinstellung Dezimal. Eine führende Null wird
gedruckt. Beachten Sie, dass dies keinen Einfluss darauf hat, ob ein Roh- oder
formatierter Dateimodus angezeigt, der durch die -r und -s Optionen,
noch ob überhaupt ein Modus angezeigt wird.
-r Drucken Sie Rohdaten (das Standardformat) neben Zeichenfolgendaten (das -s Format);
Die Zeichenfolgendaten werden in Klammern nach den Rohdaten angezeigt.
-s Print Modus, uid, gid und die drei Zeitelemente als Strings statt
Zahlen. Das Format ist jeweils wie bei ls -l.
-t Zeigen Sie immer die Typnamen für die Elemente von struct ZustandNormalerweise sind diese
werden nur angezeigt, wenn die Ausgabe auf die Standardausgabe erfolgt und kein einzelnes Element
wurde ausgewählt.
-T Zeigen Sie niemals die Typnamen der struct Zustand Elemente.
ZSH/SYSTEM MODULE
Die zsh/system Das Modul stellt verschiedene integrierte Befehle und Parameter zur Verfügung.
Eingebaute
Systemfehler [ -e errvar ] [ -p Präfix ] [ Fehler | Fehlername ]
Dieser Befehl gibt die Fehlermeldung aus, die mit Fehler, ein Systemfehler
Nummer, gefolgt von einem Zeilenumbruch zum Standardfehler.
Anstelle der Fehlernummer wird ein Name FehlernameBeispielsweise ENOENT, können verwendet werden. Die
Satz von Namen ist derselbe wie der Inhalt des Arrays Fehler, siehe unten.
Wenn die Saite Präfix gegeben ist, wird es vor der Fehlermeldung gedruckt, ohne
Zwischenraum.
If errvar angegeben ist, wird die gesamte Nachricht ohne Zeilenumbruch dem
Parameternamen errvar und es wird nichts ausgegeben.
Ein Rückgabestatus von 0 zeigt an, dass die Nachricht erfolgreich gedruckt wurde (obwohl sie
möglicherweise nicht nützlich, wenn die Fehlernummer außerhalb des Systembereichs lag), eine Rückgabe
Der Status 1 zeigt einen Fehler in den Parametern an, und ein Rückgabestatus von 2
zeigt an, dass der Fehlername nicht erkannt wurde (hierfür wird keine Meldung gedruckt).
sysopen [ -arw ] [ -m Berechtigungen ] [ -o Optionen ]
-u fd Datei
Dieser Befehl öffnet eine Datei. Die -r, -w und -a Flags geben an, ob die Datei
zum Lesen, Schreiben und Anhängen geöffnet werden. Die -m Option erlaubt
Die anfänglichen Berechtigungen, die beim Erstellen einer Datei verwendet werden sollen, müssen in Oktalform angegeben werden.
Der Dateideskriptor wird angegeben mit -uEntweder ein expliziter Dateideskriptor in der
Es kann ein Bereich von 0 bis 9 angegeben werden oder es kann ein Variablenname vergeben werden, an den die Datei
Es wird eine Deskriptornummer zugewiesen.
Die -o Mit dieser Option können verschiedene systemspezifische Optionen als
Komma-getrennte Liste. Nachfolgend finden Sie eine Liste möglicher Optionen. Beachten Sie, dass
Je nach System sind einige möglicherweise nicht verfügbar.
cloexec
Datei zum Schließen markieren, wenn andere Programme ausgeführt werden
erstellen
creat Datei erstellen, falls sie nicht existiert
exkl Datei erstellen, Fehler, wenn sie bereits vorhanden ist
Mittag
Aktualisierung der Datei atime unterdrücken
nofollow
scheitern, wenn Datei ist ein symbolischer Link
synchronisieren Schreibanfragen warten, bis die Daten physisch geschrieben wurden
abschneiden
trunk Datei auf Größe 0 kürzen
Um die Datei zu schließen, verwenden Sie eine der folgenden Möglichkeiten:
exec {fd}<&-
exec {fd}>&-
Sysread [ -c Anzahlvar ] [ -i infd ] [ -o outfd ]
[ -s Puffergröße ] [ -t Timeout ] [ stoppen ]
Führen Sie einen einzelnen Systemlesevorgang aus dem Dateideskriptor durch infdoder Null, wenn dies nicht der Fall ist
gegeben. Das Ergebnis des Lesevorgangs wird gespeichert in stoppen or ANTWORTEN wenn das nicht gegeben ist.
If Anzahlvar angegeben ist, wird die Anzahl der gelesenen Bytes dem Parameter mit dem Namen zugewiesen
by Anzahlvar.
Die maximale Anzahl gelesener Bytes beträgt Puffergröße oder 8192, wenn dies nicht angegeben ist, jedoch
der Befehl kehrt zurück, sobald eine beliebige Anzahl Bytes erfolgreich gelesen wurde.
If Timeout angegeben ist, gibt es ein Timeout in Sekunden an, das Null sein kann, um abzufragen
der Dateideskriptor. Dies wird durch die Umfrage Systemaufruf, falls verfügbar,
andernfalls wählen Systemaufruf, falls verfügbar.
If outfd gegeben ist, wird versucht, alle gerade gelesenen Bytes in die Datei zu schreiben
Deskriptor outfd. Wenn dies aufgrund eines anderen Systemfehlers fehlschlägt als EINTR or
aufgrund eines internen zsh-Fehlers während eines Interrupts wurden die Bytes gelesen, aber nicht
geschrieben werden, werden in dem Parameter gespeichert, der durch stoppen falls angegeben (kein Standard wird verwendet
in diesem Fall), und die Anzahl der gelesenen, aber nicht geschriebenen Bytes wird im
Parameter benannt nach Anzahlvar wenn das angegeben ist. Wenn es erfolgreich war, Anzahlvar
enthält wie üblich die volle Anzahl der übertragenen Bytes und stoppen ist nicht gesetzt.
Der Fehler EINTR (unterbrochener Systemaufruf) wird intern behandelt, so dass Shell
Interrupts sind für den Aufrufer transparent. Jeder andere Fehler führt zu einer Rückgabe.
Die möglichen Rückgabestatus sind
0 Mindestens ein Byte Daten wurde erfolgreich gelesen und ggf.
geschrieben.
1 Es gab einen Fehler in den Parametern des Befehls. Dies ist der einzige Fehler
für die eine Meldung in der Standardfehlerausgabe ausgegeben wird.
2 Beim Lesen oder Abfragen des Eingabedateideskriptors ist ein Fehler aufgetreten.
ein Timeout. Der Parameter FEHLERNO gibt den Fehler aus.
3 Die Daten wurden erfolgreich gelesen, aber beim Schreiben in outfd.
Der Parameter FEHLERNO gibt den Fehler aus.
4 Der Leseversuch ist abgelaufen. Beachten Sie, dass dies nicht FEHLERNO da dies nicht
ein Systemfehler.
5 Es ist kein Systemfehler aufgetreten, aber es wurden null Bytes gelesen. Dies deutet normalerweise darauf hin,
Dateiende. Die Parameter werden nach den üblichen Regeln gesetzt; kein Schreibzugriff
zu outfd wird versucht.
sysseek [ -u fd ] [ -w Anfang|Ende|Strom ] Offset
Die aktuelle Dateiposition, an der zukünftige Lese- und Schreibvorgänge stattfinden, ist
auf den angegebenen Byte-Offset angepasst. Die Offset wird als Mathematik bewertet
Ausdruck. Das -u Mit dieser Option kann der Dateideskriptor angegeben werden. Standardmäßig
Der Offset wird relativ zum Start oder zur Datei angegeben, aber mit dem -w Option,
Es ist möglich anzugeben, dass der Offset relativ zum aktuellen sein soll
Position oder das Ende der Datei.
Syswrite [ -c Anzahlvar ] [ -o outfd ] frustrierten
Die Daten (eine einzelne Bytefolge) werden in den Dateideskriptor geschrieben outfdOder 1
wenn das nicht gegeben ist, verwenden Sie die schreiben Systemaufruf. Mehrere Schreibvorgänge können
verwendet werden, wenn der erste nicht alle Daten schreibt.
If Anzahlvar angegeben ist, wird die Anzahl der geschriebenen Bytes im Parameter mit dem Namen gespeichert
by Anzahlvar; dies ist möglicherweise nicht die gesamte Länge von frustrierten wenn ein Fehler aufgetreten ist.
Der Fehler EINTR (unterbrochener Systemaufruf) wird intern durch einen erneuten Versuch behandelt;
Andernfalls führt ein Fehler dazu, dass der Befehl zurückkehrt. Wenn beispielsweise die Datei
Deskriptor auf nicht blockierende Ausgabe eingestellt ist, wird ein Fehler WIEDER (auf einigen Systemen,
EWOULDBLOCK) kann dazu führen, dass der Befehl vorzeitig zurückkehrt.
Der Rückgabestatus kann 0 für Erfolg sein, 1 für einen Fehler in den Parametern zum
Befehl oder 2 für einen Fehler beim Schreiben; im letzten wird keine Fehlermeldung ausgegeben
Fall, aber der Parameter FEHLERNO wird den aufgetretenen Fehler widerspiegeln.
zsystem Herde [ -t Timeout ] [ -f jung ] [-R] Datei
zsystem Herde -u fd_expr
Die eingebaute zsystemUnterbefehl von Herde führt eine beratende Dateisperre durch (über die
fktl(2) Systemaufruf) über den gesamten Inhalt der gegebenen Datei. Diese Form der
Das Sperren erfordert die Zusammenarbeit der Prozesse, die auf die Datei zugreifen.
Die Verwendung erfolgt zwischen zwei Instanzen der Shell selbst.
In der ersten Form wird der Name Datei, das bereits vorhanden sein muss, wird durch Öffnen eines
Dateideskriptor zur Datei und Anwenden einer Sperre auf den Dateideskriptor. Die Sperre
wird beendet, wenn der Shell-Prozess, der die Sperre erstellt hat, beendet wird. Es ist daher
Es ist oft praktisch, Dateisperren innerhalb von Subshells zu erstellen, da die Sperre
automatisch freigegeben, wenn die Subshell beendet wird. Der Status 0 wird zurückgegeben, wenn die Sperre
erfolgreich, sonst Status 1.
In der zweiten Form wird der Dateideskriptor durch den arithmetischen Ausdruck gegeben fd_expr
wird geschlossen und eine Sperre freigegeben. Der Dateideskriptor kann mit dem `-f
jung'-Formular während der Sperre; bei einer erfolgreichen Sperre wird die Shell-Variable jung eingestellt ist
der Dateideskriptor, der für die Sperrung verwendet wird. Die Sperre wird aufgehoben, wenn die Datei
Deskriptor wird auf andere Weise geschlossen, beispielsweise mit `exec {jung}>&-';
Das hier beschriebene Formular führt jedoch eine Sicherheitsüberprüfung durch, ob der Dateideskriptor
wird zum Sperren von Dateien verwendet.
Standardmäßig wartet die Shell unbegrenzt auf die erfolgreiche Sperre. Die Option -t
Timeout gibt ein Timeout für die Sperre in Sekunden an; derzeit muss dies ein
Ganzzahl. Die Shell versucht während dieses Zeitraums einmal pro Sekunde, die Datei zu sperren.
Wenn der Versuch abläuft, wird der Status 2 zurückgegeben.
Wenn die Option -e gegeben ist, bleibt der Dateideskriptor für die Sperre erhalten, wenn die
Shell-Anwendungen exec einen neuen Prozess zu starten; andernfalls wird er an dieser Stelle geschlossen und
die Sperre wurde gelöst.
Wenn die Option -r gegeben ist, ist die Sperre nur zum Lesen, sonst ist sie für
Lesen und Schreiben. Der Dateideskriptor wird entsprechend geöffnet.
zsystem unterstützt Unterbefehl
Die eingebaute zsystemUnterbefehl von unterstützt testet, ob ein bestimmter Unterbefehl
unterstützt. Es gibt den Status 0 zurück, wenn ja, sonst den Status 1. Es arbeitet im Hintergrund, es sei denn
Es gab einen Syntaxfehler (dh die falsche Anzahl von Argumenten), in diesem Fall Status
Es wird 255 zurückgegeben. Status 1 kann eines von zwei Dingen bedeuten: Unterbefehl ist bekannt, aber
vom aktuellen Betriebssystem nicht unterstützt wird oder Unterbefehl ist nicht bekannt (evtl.
da dies eine ältere Version der Shell ist, bevor sie implementiert wurde).
Mathe Funktionen
systell(fd)
Die mathematische Funktion Systell gibt die aktuelle Dateiposition für den Dateideskriptor zurück
als Argument übergeben.
Kenngrößen
Fehler Ein schreibgeschütztes Array mit den Namen der im System definierten Fehler. Diese sind typischerweise
Makros, die in C durch Einbinden der System-Header-Datei definiert sind Fehlernr.hDer Index jedes
Name (unter der Annahme, dass die Option KSH_ARRAYS ist nicht gesetzt) entspricht der Fehlernummer.
Fehlernummern num vor dem letzten bekannten Fehler, die keinen Namen haben, erhalten den Namen
Enum im Array.
Beachten Sie, dass Aliase für Fehler nicht verarbeitet werden; es wird nur der kanonische Name verwendet.
Sysparams
Ein schreibgeschütztes assoziatives Array. Die Schlüssel sind:
pid Gibt die Prozess-ID des aktuellen Prozesses zurück, auch in Subshells. Vergleichen Sie
$$, die die Prozess-ID des Haupt-Shell-Prozesses zurückgibt.
ppd Gibt die Prozess-ID des übergeordneten Prozesses des aktuellen Prozesses zurück, auch in
Unterschalen. Vergleichen $PPID, die die Prozess-ID des übergeordneten Elements des
Haupt-Shell-Prozess.
ZSH/NET/TCP MODULE
Die zsh/net/tcp Das Modul stellt einen integrierten Befehl zur Verfügung:
ztcp [ -acflLtv ] [ -d fd ] [ args ]
ztcp ist als integrierte Funktion implementiert, um die vollständige Nutzung der Shell-Befehlszeilenbearbeitung zu ermöglichen.
Datei-E/A und Job-Steuerungsmechanismen.
If ztcp ohne Optionen ausgeführt wird, gibt es den Inhalt seiner Sitzungstabelle aus.
Wenn es nur mit der Option ausgeführt wird -L, wird der Inhalt der Sitzung ausgegeben
Tabelle in einem für die automatische Analyse geeigneten Format. Die Option wird ignoriert, wenn angegeben
mit einem Befehl zum Öffnen oder Schließen einer Sitzung. Die Ausgabe besteht aus einer Reihe von Zeilen,
eine pro Sitzung, jede enthält die folgenden, durch Leerzeichen getrennten Elemente:
Dateideskriptor
Der für die Verbindung verwendete Dateideskriptor. Für normale eingehende (I) und
ausgehend (O) Verbindungen können mit der üblichen Shell gelesen und geschrieben werden
Mechanismen. Es sollte jedoch nur mit `ztcp -c'.
Verbindungstyp
Ein Brief, der angibt, wie die Sitzung erstellt wurde:
Z Eine Sitzung erstellt mit dem unterstützt Befehl.
L Eine Verbindung wurde zum Abhören mit ` geöffnet.ztcp -l'.
I Eine eingehende Verbindung wurde mit ` akzeptiert.ztcp -a'.
O Eine ausgehende Verbindung, die mit ` erstellt wurdeztcp Gastgeber ...'.
Der lokale Gastgeber
Dies ist normalerweise auf eine IP-Adresse mit lauter Nullen eingestellt, da die Adresse des
localhost ist irrelevant.
Der lokale Hafen
Dieser Wert liegt wahrscheinlich bei Null, es sei denn, die Verbindung dient zum Abhören.
Der Remote-Host
Dies ist der vollqualifizierte Domänenname des Peers, falls verfügbar, andernfalls ein
IP-Adresse. Es handelt sich um eine IP-Adresse mit Nullen für eine Sitzung, die für
Hören.
Der Remote-Port
Dieser Wert ist Null für eine zum Abhören geöffnete Verbindung.
Outbound Verbindungen
ztcp [ -v ] [ -d fd ] Gastgeber [ port ]
Öffnen Sie eine neue TCP-Verbindung zu Gastgeber. Wenn der port weggelassen wird, wird standardmäßig Port
23. Die Verbindung wird der Sitzungstabelle und dem Shell-Parameter hinzugefügt
ANTWORTEN wird auf den mit dieser Verbindung verknüpften Dateideskriptor gesetzt.
If -d angegeben ist, wird sein Argument als Zieldateideskriptor für
die Verbindung.
Um eine ausführlichere Ausgabe zu erhalten, verwenden Sie -v.
Inbound- Verbindungen
ztcp -l [ -v ] [ -d fd ] port
ztcp -l öffnet einen Socket, der auf TCP lauscht port . Der Socket wird hinzugefügt zum
Sitzungstabelle und der Shell-Parameter ANTWORTEN wird auf den Dateideskriptor gesetzt
mit diesem Listener verknüpft.
If -d angegeben ist, wird sein Argument als Zieldateideskriptor für
die Verbindung.
Um eine ausführlichere Ausgabe zu erhalten, verwenden Sie -v.
ztcp -a [ -Fernseher ] [ -d Zielfd ] listenfd
ztcp -a akzeptiert eine eingehende Verbindung zum Port, der mit listenfd.
Die Verbindung wird der Sitzungstabelle und dem Shell-Parameter hinzugefügt ANTWORTEN
wird auf den Dateideskriptor gesetzt, der der eingehenden Verbindung zugeordnet ist.
If -d angegeben ist, wird sein Argument als Zieldateideskriptor für
die Verbindung.
If -t angegeben, ztcp wird zurückgegeben, wenn keine eingehende Verbindung aussteht.
Andernfalls wird auf einen gewartet.
Um eine ausführlichere Ausgabe zu erhalten, verwenden Sie -v.
Schließen Verbindungen
ztcp -vgl [ -v ] [ fd ]
ztcp -c [ -v ] [ fd ]
ztcp -c schließt den Socket, der mit fd. Der Sockel wird entfernt von
die Sitzungstabelle. Wenn fd ist nicht angegeben, ztcp wird alles schließen in der
Sitzungstabelle.
Normalerweise werden Sockets, die von zftp registriert werden (siehe zshmodules(1) ) kann nicht geschlossen werden, diese
Weg. Um einen solchen Socket zu schließen, verwenden Sie -f.
Um eine ausführlichere Ausgabe zu erhalten, verwenden Sie -v.
Beispiel
So erstellen Sie eine TCP-Verbindung zwischen zwei Instanzen von zsh. Wir müssen eine auswählen
nicht zugewiesener Port; hier verwenden wir den zufällig ausgewählten 5123.
On host1,
zmodload zsh/net/tcp
ztcp -l 5123
listenfd=$ANTWORT
ztcp -a $listenfd
fd=$ANTWORT
Der vorletzte Befehl blockiert, bis eine eingehende Verbindung besteht.
Erstellen Sie nun eine Verbindung von host2 (was natürlich dieselbe Maschine sein kann):
zmodload zsh/net/tcp
ztcp host1 5123
fd=$ANTWORT
Jetzt auf jedem Host, $fd enthält einen Dateideskriptor für die Kommunikation mit dem anderen. Zum Beispiel:
on host1:
drucken Dieser is a Nachricht >&$fd
und host2:
besuch -r Linie <&$fd; drucken -r - $line
druckt `Dieser is a Nachricht'.
Zum Aufräumen, auf host1:
ztcp -c $listenfd
ztcp -c $fd
und host2
ztcp -c $fd
ZSH/TERMCAP MODULE
Die zsh/termcap Das Modul stellt einen integrierten Befehl zur Verfügung:
echotc Kappe [ arg ... ]
Geben Sie den Termcap-Wert aus, der der Fähigkeit entspricht Kappe, mit optionalem
Argumente.
Die zsh/termcap Das Modul stellt einen Parameter zur Verfügung:
termcap
Ein assoziatives Array, das Termcap-Fähigkeitscodes ihren Werten zuordnet.
ZSH/TERMINFO MODULE
Die zsh/terminfo Das Modul stellt einen integrierten Befehl zur Verfügung:
echoti Kappe [ arg ]
Geben Sie den Terminfo-Wert aus, der der Fähigkeit entspricht Kappe, instanziiert mit
arg wenn anwendbar.
Die zsh/terminfo Das Modul stellt einen Parameter zur Verfügung:
Termininfo
Ein assoziatives Array, das Terminfo-Funktionsnamen ihren Werten zuordnet.
ZSH/ZFTP MODULE
Die zsh/zftp Das Modul stellt einen integrierten Befehl zur Verfügung:
unterstützt Unterbefehl [ args ]
Die zsh/zftp Modul ist ein Client für FTP (File Transfer Protocol). Es ist
als integrierte Funktion implementiert, um die vollständige Nutzung der Shell-Befehlszeilenbearbeitung, Datei-E/A,
und Job-Kontrollmechanismen. Oftmals greifen Benutzer über Shell-Funktionen darauf zu
Bereitstellung einer leistungsfähigeren Schnittstelle; ein Satz wird mitgeliefert mit zsh Verteilung
und wird beschrieben in zshzftpsys(1). Allerdings unterstützt Befehl ist vollständig verwendbar in
sein eigenes Recht.
Alle Befehle bestehen aus dem Befehlsnamen unterstützt gefolgt vom Namen eines Unterbefehls.
Diese sind unten aufgeführt. Der Rückgabestatus jedes Unterbefehls soll
spiegeln den Erfolg oder Misserfolg des Remote-Vorgangs wider. Eine Beschreibung der
Variable ZFTP_VERBOSE Weitere Informationen dazu, wie die Antworten des Servers
gedruckt.
Unterbefehle
XNUMXh geöffnet Gastgeber[:port ] [ Benutzer [ Passwort [ Konto ] ] ]
Öffnen Sie eine neue FTP-Sitzung, um Gastgeber, wobei es sich um den Namen eines über TCP/IP verbundenen Hosts handeln kann oder
eine IP-Nummer in der Standard-Punktnotation. Wenn das Argument in der Form
Gastgeber:port , öffnen Sie eine Verbindung zum TCP-Port port anstelle des Standard-FTP-Ports 21.
Dies kann der Name eines TCP-Dienstes oder eine Nummer sein: siehe die Beschreibung von
ZFTP_PORT unten für weitere Informationen.
Wenn IPv6-Adressen im Doppelpunktformat verwendet werden, Gastgeber sollte in Anführungszeichen gesetzt werden
eckige Klammern zur Unterscheidung von port Beispielsweise
'[fe80::203:baff:fe02:8b56]'. Aus Gründen der Konsistenz ist dies bei allen Formen von
Gastgeber.
Die restlichen Argumente werden an den login Unterbefehl. Beachten Sie, dass, wenn keine Argumente
Darüber hinaus Gastgeber geliefert werden, XNUMXh geöffnet werden wir nicht automatisch anrufen login. Wenn keine Argumente
überhaupt versorgt werden, XNUMXh geöffnet verwendet die Parameter, die vom params Unterbefehl.
Nach einem erfolgreichen Öffnen werden die Shell-Variablen ZFTP_HOST, ZFTP_PORT, ZFTP_IP und
ZFTP_SYSTEM sind verfügbar; siehe „Variablen“ unten.
login [ Name [ Passwort [ Konto ] ] ]
Benutzer [ Name [ Passwort [ Konto ] ] ]
Melden Sie den Benutzer an Name mit Parametern Passwort und Konto. Jeder der Parameter
kann weggelassen werden und wird bei Bedarf von der Standardeingabe gelesen (Name immer
benötigt). Wenn die Standardeingabe ein Terminal ist, wird für jeden eine Eingabeaufforderung gedruckt
Standardfehler und Passwort wird nicht wiederholt. Wenn einer der Parameter nicht
verwendet wird, wird eine Warnmeldung gedruckt.
Nach einem erfolgreichen Login werden die Shell-Variablen ZFTP_USER, ZFTP_ACCOUNT und ZFTP_PWD
sind verfügbar; siehe „Variablen“ unten.
Dieser Befehl kann erneut ausgeführt werden, wenn ein Benutzer bereits angemeldet ist, und der Server wird
zunächst für einen neuen Benutzer neu initialisiert werden.
params [ Gastgeber [ Benutzer [ Passwort [ Konto ] ] ] ]
params -
Speichern Sie die angegebenen Parameter für einen späteren XNUMXh geöffnet Befehl ohne Argumente. Nur diejenigen
Die in der Kommandozeile angegebenen Argumente werden gespeichert. Wenn keine Argumente angegeben werden,
Die aktuell eingestellten Parameter werden gedruckt, das Passwort wird jedoch als Zeile angezeigt
von Sternen; der Rückgabestatus ist eins, wenn keine Parameter festgelegt wurden, andernfalls null.
Jeder der Parameter kann als ` angegeben werden?', die möglicherweise zitiert werden müssen, um
schützen Sie es vor Shell-Erweiterung. In diesem Fall wird der entsprechende Parameter sein
Lesen von stdin wie mit dem login Unterbefehl, einschließlich der speziellen Behandlung von
Passwort. Wenn die `?' folgt eine Zeichenfolge, die als Eingabeaufforderung für
Lesen des Parameters anstelle der Standardnachricht (alle notwendigen Zeichensetzungen und
Leerzeichen sollten am Ende der Eingabeaufforderung eingefügt werden). Der erste Buchstabe des
Parameter (nur) können mit einem ` zitiert werden\'; daher ein Argument "\\$Wort" Garantien
dass der String aus dem Shell-Parameter $Wort wird wörtlich behandelt, ob
oder nicht, es beginnt mit einem `?'.
Wenn stattdessen ein einzelnes `-' angegeben ist, werden die vorhandenen Parameter, falls vorhanden, gelöscht. In
diesem Fall, XNUMXh geöffnet ohne Argumente führt zu einem Fehler.
Die Parameterliste wird nach einem schließen, es wird jedoch gelöscht, wenn
die zsh/zftp Modul ist entladen.
Zum Beispiel,
unterstützt params ftp.anderswo.xx Juser '?Passwort für juser: '
speichert den Host ftp.anderswo.xx und der Benutzer Juser und fordern Sie dann den Benutzer auf
für das entsprechende Passwort mit der gegebenen Eingabeaufforderung.
Test Testen Sie die Verbindung; wenn der Server gemeldet hat, dass er die Verbindung geschlossen hat
(möglicherweise aufgrund eines Timeouts), Status 2 zurückgeben; wenn sowieso keine Verbindung geöffnet war, zurückgeben
Status 1; sonst Status 0 zurückgeben. Die Test Unterbefehl ist stumm, abgesehen von Nachrichten
gedruckt von der $ZFTP_VERBOSE Mechanismus oder Fehlermeldungen, wenn die Verbindung geschlossen wird.
Für diesen Test entsteht kein Netzwerk-Overhead.
Der Test wird nur auf Systemen unterstützt, die entweder wählen(2) or Umfrage (2) fragst
Anrufe; andernfalls wird die Meldung `nicht unterstützt on fehlen uns die Worte. fragstStattdessen wird ' gedruckt.
Die Test Unterbefehl wird automatisch zu Beginn eines anderen aufgerufen
Unterbefehl für die aktuelle Sitzung, wenn eine Verbindung geöffnet ist.
cd Verzeichnis
Ändern Sie das Remote-Verzeichnis in Verzeichnis. Ändert auch die Shell-Variable ZFTP_PWD.
cdu Ändern Sie das Remote-Verzeichnis in das übergeordnete Verzeichnis im Verzeichnisbaum. Beachten Sie, dass cd
.. funktioniert auch auf Nicht-UNIX-Systemen ordnungsgemäß.
dir [ arg ... ]
Geben Sie eine (ausführliche) Auflistung des Remote-Verzeichnisses an. Die args werden direkt an
der Server. Das Verhalten des Befehls ist implementierungsabhängig, aber ein UNIX-Server
interpretiert typischerweise args als Argumente für die ls Befehl und ohne Argumente
gibt das Ergebnis von ` zurückls -l'. Das Verzeichnis wird in der Standardausgabe aufgelistet.
ls [ arg ... ]
Geben Sie eine (kurze) Auflistung des Remote-Verzeichnisses an. Ohne arg, erzeugt eine Rohliste
der Dateien im Verzeichnis, eine pro Zeile. Ansonsten, bis zu den Launen der
Serverimplementierung, verhält sich ähnlich wie dir.
tippe [ tippe ]
Ändern Sie den Typ für die Übertragung in tippe, oder drucken Sie den aktuellen Typ, wenn tippe is
abwesend. Die zulässigen Werte sind `A' (ASCII), `I' (Bild, d. h. binär) oder `B' (A
Synonym für `I').
Der FTP-Standard für eine Übertragung ist ASCII. Wenn jedoch unterstützt stellt fest, dass die Fernbedienung
Host ist eine UNIX-Maschine mit 8-Bit-Bytes, wird es automatisch auf die Verwendung
Binärdatei für Dateiübertragungen auf XNUMXh geöffnet. Dies kann nachträglich überschrieben werden.
Der Übertragungstyp wird nur dann an den Remote-Host weitergegeben, wenn eine Datenverbindung besteht
eingerichtet; dieser Befehl verursacht keinen Netzwerk-Overhead.
ASCII Das Gleiche wie tippe A.
binär Das Gleiche wie tippe I.
Modus [ S | B ]
Stellen Sie den Modustyp auf Stream ein (S) oder Block (B). Der Stream-Modus ist die Standardeinstellung; Block
Der Modus wird nicht allgemein unterstützt.
entfernt Datei ...
aus einer regionalen [ Datei ... ]
Drucken Sie die Größe und den Zeitpunkt der letzten Änderung der Remote- oder lokalen Dateien. Wenn es
Wenn die Liste mehrere Einträge enthält, wird der Name der Datei zuerst gedruckt.
Die erste Zahl ist die Dateigröße, die zweite ist der Zeitpunkt der letzten Änderung der Datei
im Format CCYYMMDDhhmmSS bestehend aus Jahr, Monat, Tag, Stunde, Minute und
Sekunden in GMT. Beachten Sie, dass dieses Format, einschließlich der Länge, garantiert ist, also
dass Zeitstrings direkt über die [[ eingebaut < und > Betreiber,
auch wenn sie zu lang sind, um als Ganzzahlen dargestellt zu werden.
Nicht alle Server unterstützen die Befehle zum Abrufen dieser Informationen. In diesem
Fall, die entfernt Befehl gibt nichts aus und gibt Status 2 zurück, verglichen mit
Status 1 für eine nicht gefundene Datei.
Die aus einer regionalen Befehl (aber nicht entfernt) kann ohne Argumente verwendet werden, in diesem Fall ist die
Informationen stammen aus der Untersuchung des Dateideskriptors Null. Dies ist die gleiche Datei wie
gesehen von einem setzen Befehl ohne weitere Umleitung.
bekommen Datei ...
Alle abrufen Dateis vom Server, verkettet sie und sendet sie an Standard
Ausgabe.
setzen Datei ...
Für jeden Datei, lesen Sie eine Datei von der Standardeingabe und senden Sie diese an den Remote-Host
mit dem angegebenen Namen.
anhängen Datei ...
As setzen, aber wenn die Fernbedienung Datei bereits vorhanden ist, werden Daten an dieses angehängt, anstatt
es überschreiben.
erhalten bei Datei Punkt
putat Datei Punkt
Anhang Datei Punkt
Versionen von bekommen, setzen und anhängen Dadurch wird die Übertragung zum angegebenen Zeitpunkt gestartet. Punkt in
die Fernbedienung DateiDies ist nützlich, um an eine unvollständige lokale Datei anzuhängen.
Beachten Sie jedoch, dass diese Funktion nicht überall von Servern unterstützt wird (und nicht
ganz und gar das im Standard spezifizierte Verhalten).
löschen Datei ...
Löschen Sie die Dateiliste auf dem Server.
mkdir Verzeichnis
Erstellen Sie ein neues Verzeichnis Verzeichnis auf dem Server.
rmdir Verzeichnis
Löschen Sie das Verzeichnis Verzeichnis auf dem Server.
umbenennen alte Bezeichnung neuer Name
Datei umbenennen alte Bezeichnung zu neuer Name auf dem Server.
site arg ...
Senden Sie einen hostspezifischen Befehl an den Server. Sie benötigen diesen wahrscheinlich nur, wenn
vom Server angewiesen, es zu verwenden.
Angebot! arg ...
Senden Sie die FTP-Befehlssequenz an den Server. Sie sollten mit der
FTP-Befehlssatz wie in RFC959 definiert, bevor Sie dies tun. Nützliche Befehle können
das STAT und HILFEBeachten Sie auch den Mechanismus zur Rückgabe von Nachrichten, wie beschrieben
für die Variable ZFTP_VERBOSE unten, insbesondere, dass alle Nachrichten aus dem
Steuerverbindung werden an den Standardfehler gesendet.
schließen
verlassen Schließen Sie die aktuelle Datenverbindung. Dadurch werden die Shell-Parameter gelöscht. ZFTP_HOST,
ZFTP_PORT, ZFTP_IP, ZFTP_SYSTEM, ZFTP_USER, ZFTP_ACCOUNT, ZFTP_PWD, ZFTP_TYPE und
ZFTP_MODE.
Session [ Sitzungsname ]
Ermöglicht die gleichzeitige Nutzung mehrerer FTP-Sitzungen. Der Name der Sitzung ist ein
beliebige Zeichenfolge; die Standardsitzung heißt `Standard'. Wenn dies
Wird der Befehl ohne Argument aufgerufen, werden alle aktuellen Sitzungen aufgelistet. Mit
ein Argument, wird es entweder zur bestehenden Sitzung namens Sitzungsname oder
Erstellen Sie eine neue Sitzung mit diesem Namen.
Jede Sitzung speichert den Status der Verbindung, den Satz verbindungsspezifischer
Shell-Parameter (dieselben, die beim Schließen einer Verbindung gelöscht werden, wie in
die Beschreibung von schließen) und alle Benutzerparameter, die mit dem params
Unterbefehl. Der Wechsel zu einer vorherigen Sitzung stellt diese Werte wieder her; der Wechsel zu einer
neue Sitzung initialisiert sie auf die gleiche Weise, als ob unterstützt wurde gerade geladen. Die
Der Name der aktuellen Sitzung wird durch den Parameter angegeben ZFTP_SESSION.
Sitzung [ Sitzungsname ]
Löschen einer Sitzung; wenn kein Name angegeben ist, wird die aktuelle Sitzung gelöscht. Wenn die
aktuelle Sitzung gelöscht wird, wird die älteste bestehende Sitzung zur neuen aktuellen
Sitzung, andernfalls wird die aktuelle Sitzung nicht geändert. Wenn die Sitzung
gelöscht ist die einzige, eine neue Sitzung namens `Standard' wird erstellt und wird zum
aktuelle Sitzung; beachten Sie, dass dies eine neue Sitzung ist, auch wenn die Sitzung gelöscht wird
wird auch ` genanntStandard'. Es wird empfohlen, Sitzungen nicht zu löschen, während
Hintergrundbefehle, die unterstützt sind noch aktiv.
Kenngrößen
Die folgenden Shell-Parameter werden verwendet von unterstützt. Derzeit ist keiner von ihnen etwas Besonderes.
ZFTP_TMOUT
Ganzzahl. Die Zeit in Sekunden, die auf den Abschluss einer Netzwerkoperation gewartet werden soll, bevor
einen Fehler zurückgibt. Wenn dies beim Laden des Moduls nicht festgelegt ist, wird es
Der Standardwert ist 60. Ein Wert von Null deaktiviert Timeouts. Wenn ein Timeout auftritt auf
die Steuerverbindung wird geschlossen. Verwenden Sie einen größeren Wert, wenn dies zu
häufig.
ZFTP_IP
Schreibgeschützt. Die IP-Adresse der aktuellen Verbindung in Punktnotation.
ZFTP_HOST
Schreibgeschützt. Der Hostname des aktuellen Remote-Servers. Wenn der Host als
IP-Nummer, ZFTP_HOST enthält stattdessen das; das spart den Aufwand für einen Namen
Suche, da IP-Nummern am häufigsten verwendet werden, wenn kein Nameserver verfügbar ist.
ZFTP_PORT
Schreibgeschützt. Die Nummer des Remote-TCP-Ports, zu dem die Verbindung geöffnet ist (auch
wenn der Port ursprünglich als benannter Dienst angegeben wurde). Normalerweise ist dies der
Standard-FTP-Port, 21.
Im unwahrscheinlichen Fall, dass Ihr System nicht über die entsprechende Konvertierung verfügt
Funktionen, dies erscheint in der Netzwerk-Byte-Reihenfolge. Wenn Ihr System Little-Endian ist,
Der Port besteht dann aus zwei vertauschten Bytes und der Standardport wird gemeldet
als 5376. In diesem Fall werden numerische Ports an unterstützt XNUMXh geöffnet muss auch in
dieses Format.
ZFTP_SYSTEM
Schreibgeschützt. Die Systemtypzeichenfolge, die vom Server als Antwort auf einen FTP- SYST
Anfrage. Der interessanteste Fall ist eine Zeichenfolge, die "UNIX Typ: L8", Die
gewährleistet maximale Kompatibilität mit einem lokalen UNIX-Host.
ZFTP_TYPE
Schreibgeschützt. Der für Datenübertragungen zu verwendende Typ, entweder `A' oder `I'. Verwenden Sie die
tippe Unterbefehl, um dies zu ändern.
ZFTP_USER
Schreibgeschützt. Der aktuell angemeldete Benutzername, falls vorhanden.
ZFTP_ACCOUNT
Schreibgeschützt. Der Kontoname des aktuellen Benutzers, falls vorhanden. Die meisten Server
erfordern einen Kontonamen.
ZFTP_PWD
Schreibgeschützt. Das aktuelle Verzeichnis auf dem Server.
ZFTP_CODE
Schreibgeschützt. Der dreistellige Code der letzten FTP-Antwort vom Server als Zeichenfolge.
Diese ist auch nach dem Schließen der Verbindung noch lesbar und wird beim
aktuelle Sitzungsänderungen.
ZFTP_ANTWORT
Schreibgeschützt. Die letzte Zeile der letzten Antwort des Servers. Diese kann noch
gelesen, nachdem die Verbindung geschlossen wurde, und wird nicht geändert, wenn die aktuelle Sitzung
ändert.
ZFTP_SESSION
Schreibgeschützt. Der Name der aktuellen FTP-Sitzung; siehe die Beschreibung des Session
Unterbefehl.
ZFTP_PREFS
Eine Reihe von Einstellungen zum Ändern von Aspekten von unterstützt's Verhalten. Jede Präferenz
ist ein einzelnes Zeichen. Folgendes ist definiert:
P Passiv: Versuch, den Remote-Server zu veranlassen, Datenübertragungen zu initiieren. Dies
ist etwas effizienter als der Sendport-Modus. Wenn der Brief S erfolgt später
in der Zeichenfolge, unterstützt verwendet den Sendport-Modus, wenn der passive Modus nicht verfügbar ist.
S Sendport: Übertragungen per FTP initiieren PORT Befehl. Wenn dies geschieht
vor allen P In der Zeichenfolge wird der passive Modus nie versucht.
D Dumm: Verwenden Sie nur das absolute Minimum an FTP-Befehlen. Dies verhindert, dass die
Variablen ZFTP_SYSTEM und ZFTP_PWD vom Setzen ab und bedeutet, dass alle
Verbindungen werden standardmäßig auf ASCII-Typ gesetzt. Dies kann ZFTP_SIZE von der Einstellung
während einer Übertragung, wenn der Server es nicht trotzdem sendet (viele Server tun dies).
If ZFTP_PREFS ist nicht gesetzt, wenn unterstützt geladen ist, wird es auf einen Standardwert von ` gesetztPS',
d. h., verwenden Sie den passiven Modus, falls verfügbar, und greifen Sie andernfalls auf den Sendport-Modus zurück.
ZFTP_VERBOSE
Eine Ziffernfolge zwischen 0 und 5, die angibt, welche Antworten aus dem
Server soll gedruckt werden. Alle Antworten gehen an den Standardfehler. Wenn einer der
Die Zahlen 1 bis 5 erscheinen in der Zeichenfolge, Rohantworten vom Server mit Antwortcodes
beginnend mit dieser Ziffer wird mit Standardfehler gedruckt. Die erste Ziffer von
Der dreistellige Antwortcode ist in RFC959 wie folgt definiert:
1. Eine positive vorläufige Antwort.
2. Eine positive Abschlussantwort.
3. Eine positive Zwischenantwort.
4. Eine vorübergehende negative Abschlussantwort.
5. Eine dauerhaft negative Abschlussantwort.
Es ist zu beachten, dass aus unbekannten Gründen die Antwort „Dienst nicht verfügbar“
die den Abbruch einer Verbindung erzwingt, wird als 421 klassifiziert, also `transient
negativ“, eine interessante Interpretation des Wortes „vorübergehend“.
Der Code 0 ist etwas Besonderes: Er zeigt an, dass alle Zeilen außer der letzten mehrzeiligen
Vom Server gelesene Antworten werden in einer verarbeiteten Datei in der Standardfehlerausgabe ausgegeben.
Format. Gemäß Konvention verwenden Server diesen Mechanismus zum Senden von Informationen für die
Benutzer zu lesen. Der entsprechende Antwortcode, wenn er mit der gleichen Antwort übereinstimmt, nimmt
Priorität.
If ZFTP_VERBOSE ist nicht gesetzt, wenn unterstützt geladen ist, wird es auf den Standardwert gesetzt
450, d. h., es werden Nachrichten für den Benutzer und alle Fehler gedruckt. Ein Null
Die Zeichenfolge ist gültig und gibt an, dass keine Nachrichten gedruckt werden sollen.
Funktionen
zftp_chpwd
Wenn diese Funktion vom Benutzer eingestellt wird, wird sie bei jedem Verzeichniswechsel aufgerufen
auf dem Server, auch wenn ein Benutzer angemeldet ist oder wenn eine Verbindung geschlossen wird.
Im letzten Fall $ZFTP_PWD wird aufgehoben; andernfalls wird die neue
Verzeichnis.
zftp_progress
Wenn diese Funktion vom Benutzer eingestellt wird, wird sie während eines bekommen, setzen or anhängen
Vorgang jedes Mal, wenn genügend Daten vom Host empfangen wurden. Während eines bekommen,
Die Daten werden an die Standardausgabe gesendet, daher ist es wichtig, dass diese Funktion schreibt
zum Standardfehler oder direkt zum Terminal, nicht zur Standardausgabe.
Wenn es während einer laufenden Übertragung aufgerufen wird, wird die folgende zusätzliche Shell
Parameter werden eingestellt:
ZFTP_FILE
Der Name der Remote-Datei, von der oder zu der übertragen wird.
ZFTP_TRANSFER
A G für eine bekommen Betrieb und eine P für eine setzen Erfassung sind.
ZFTP_SIZE
Die Gesamtgröße der gesamten zu übertragenden Datei: dieselbe wie die erste
Wert bereitgestellt durch die entfernt und aus einer regionalen Unterbefehle für eine bestimmte Datei.
Wenn der Server diesen Wert für eine abgerufene Remote-Datei nicht liefern kann,
wird nicht gesetzt. Wenn die Eingabe von einer Pipe kommt, kann der Wert falsch sein und
entsprechen einfach einem vollen Pipe-Puffer.
ZFTP_COUNT
Die bisher übertragene Datenmenge; eine Zahl zwischen null und $ZFTP_SIZE,
sofern diese eingestellt ist. Diese Nummer ist immer erreichbar.
Der Aufruf der Funktion erfolgt zunächst mit ZFTP_TRANSFER entsprechend eingestellt und
ZFTP_COUNT auf Null gesetzt. Nach Abschluss der Übertragung wird die Funktion
noch einmal angerufen mit ZFTP_TRANSFER einstellen GF or PF, falls es aufräumen möchte
up. Andernfalls wird es nie zweimal mit dem gleichen Wert von aufgerufen ZFTP_COUNT.
Manchmal kann die Fortschrittsanzeige Störungen verursachen. Es liegt am Benutzer, zu entscheiden
ob die Funktion definiert werden soll und unfunktionell wenn nötig.
Probleme
Eine Verbindung darf nicht auf der linken Seite eines Rohres geöffnet werden, da dies in einem
Subshell und die Dateiinformationen werden in der Hauptshell nicht aktualisiert. Im Fall von Typ
oder Modusänderungen oder das Schließen der Verbindung in einer Subshell, wird die Information zurückgegeben, aber
Variablen werden erst beim nächsten Aufruf von aktualisiert unterstütztAndere Statusänderungen in Subshells
wird sich nicht in Änderungen an den Variablen widerspiegeln (sollte aber ansonsten harmlos sein).
Das Löschen von Sitzungen während einer unterstützt Befehl ist im Hintergrund aktiv kann unerwartete
Auswirkungen, auch wenn es nicht die Sitzung verwendet, die gelöscht wird. Dies liegt daran, dass alle Shell
Unterprozesse teilen Informationen über den Status aller Verbindungen und das Löschen einer Sitzung
ändert die Reihenfolge dieser Informationen.
Auf manchen Betriebssystemen ist die Steuerverbindung nach einem fork() nicht gültig, so dass
Operationen in Subshells, auf der linken Seite einer Pipeline oder im Hintergrund sind nicht
möglich, wie es sein sollte. Es handelt sich vermutlich um einen Fehler im Betriebssystem.
ZSH/ZLE MODULE
Die zsh/zle Modul enthält den Zsh-Zeileneditor. Siehe zshzle(1).
ZSH/ZLEPARAMETER MODULE
Die zsh/zleparameter Modul definiert zwei spezielle Parameter, die für den Zugriff verwendet werden können
interne Informationen des Zsh Line Editors (siehe zshzle(1)).
Tastenbelegungen
Dieses Array enthält die Namen der aktuell definierten Tastaturbelegungen.
widgets
Dieses assoziative Array enthält einen Eintrag pro definiertem Widget. Der Name des
Widget ist der Schlüssel und der Wert gibt Informationen über das Widget. Es ist entweder
die Zeichenfolge `builtin' für integrierte Widgets, eine Zeichenfolge der Form `Benutzer:Name' zum
benutzerdefinierte Widgets, wobei Name ist der Name der Shell-Funktion, die das
Widget, oder es ist eine Zeichenfolge der Form `Fertigstellung:tippe:Name', zur Vervollständigung
Widgets. Im letzten Fall tippe ist der Name des eingebauten Widgets die Vervollständigung
Widget imitiert in seinem Verhalten und Name ist der Name der Shell-Funktion
Implementierung des Abschluss-Widgets.
ZSH/ZPROF MODULE
Wenn geladen, zsh/zprof führt zur Profilierung von Shell-Funktionen. Die Profilierungsergebnisse
erhalten Sie mit dem zprof eingebauter Befehl, der von diesem Modul zur Verfügung gestellt wird. Es gibt keine
Es gibt keine andere Möglichkeit, die Profilerstellung zu deaktivieren, als das Modul zu entladen.
zprof [ -c ]
Ohne das -c Option, zprof listet Profiling-Ergebnisse in der Standardausgabe auf. Die
Das Format ist vergleichbar mit dem von Befehlen wie gprof.
Oben befindet sich eine Zusammenfassung aller Funktionen, die mindestens einmal aufgerufen wurden.
Diese Zusammenfassung ist in absteigender Reihenfolge der jeweils aufgewendeten Zeit sortiert.
Die Zeilen enthalten die Nummer der Funktion in der Reihenfolge, die in anderen Teilen verwendet wird
der Liste in Suffixen der Form `[num]', dann die Anzahl der Anrufe an die
Funktion. Die nächsten drei Spalten listen die Zeit in Millisekunden auf, die in der
Funktion und ihre Nachkommen, die durchschnittliche Zeit in Millisekunden, die in der
Funktion und ihre Nachkommen pro Aufruf und der Prozentsatz der Zeit, die in allen Shell-
Funktionen, die in dieser Funktion und ihren Nachkommen verwendet werden. Die folgenden drei Spalten
geben dieselben Informationen, zählen aber nur die in der Funktion selbst verbrachte Zeit.
Die letzte Spalte zeigt den Namen der Funktion.
Nach der Zusammenfassung werden detaillierte Informationen zu jeder aufgerufenen Funktion angezeigt.
aufgelistet, sortiert in absteigender Reihenfolge der in jeder Funktion verbrachten Zeit und
seine Nachkommen. Jeder dieser Einträge besteht aus Beschreibungen für die Funktionen
die die beschriebene Funktion aufgerufen hat, die Funktion selbst und die Funktionen, die
wurden von dort aufgerufen. Die Beschreibung für die Funktion selbst hat das gleiche Format
wie in der Zusammenfassung (und zeigt die gleichen Informationen). Die anderen Zeilen zeigen nicht die
Nummer der Funktion am Anfang und haben ihre Funktion benannt eingerückt, um
erleichtern die Unterscheidung der Zeile mit der im Abschnitt beschriebenen Funktion
Abschnitt von den umgebenden Linien.
Die in diesem Fall angezeigten Informationen sind fast dieselben wie in der Zusammenfassung, aber nur
bezieht sich auf die angezeigte Aufrufhierarchie. Beispielsweise für eine aufrufende Funktion
In der Spalte „Gesamtlaufzeit“ wird die Zeit aufgelistet, die in den beschriebenen
Funktion und ihre Nachkommen nur für die Zeiten, in denen sie von diesem aufgerufen wurde
bestimmte aufrufende Funktion. Ebenso listet diese Spalte für eine aufgerufene Funktion
die Gesamtzeit, die in der aufgerufenen Funktion und ihren Nachkommen verbracht wurde, nur für die Zeiten
als es von der beschriebenen Funktion aufgerufen wurde.
Auch in diesem Fall zeigt die Spalte mit der Anzahl der Aufrufe einer Funktion auch
ein Schrägstrich und dann die Gesamtzahl der Aufrufe der aufgerufenen Funktion.
Solange die zsh/zprof Modul geladen ist, wird das Profiling durchgeführt und mehrere
Anrufungen der zprof Der integrierte Befehl zeigt die Uhrzeit und Anzahl der Anrufe an
seit dem Laden des Moduls. Mit dem -c Option, die zprof eingebauter Befehl wird
setzt seine internen Zähler zurück und zeigt die Auflistung nicht an.
ZSH/ZPTY MODULE
Die zsh/zpty Das Modul bietet eine integrierte Funktion:
zpty [ -e ] [ -b ] Name [ arg ... ]
Die folgenden Argumente Name werden mit Leerzeichen dazwischen aneinandergereiht und dann wie folgt ausgeführt:
ein Befehl, als ob er an den eval eingebaut. Der Befehl läuft unter einem neu
zugewiesenes Pseudo-Terminal; dies ist nützlich, um Befehle nicht-interaktiv auszuführen
die eine interaktive Umgebung erwarten. Die Name ist nicht Teil des Befehls, aber
wird verwendet, um in späteren Aufrufen auf diesen Befehl zu verweisen zpty.
Mit der -e Option ist das Pseudo-Terminal so eingerichtet, dass Eingabezeichen
wiederholte.
Mit der -b Option, Eingabe und Ausgabe vom Pseudo-Terminal erfolgen
nicht blockierend.
Der Shell-Parameter ANTWORTEN wird auf den der Masterseite zugewiesenen Dateideskriptor gesetzt
des Pseudo-Terminals. Dies ermöglicht die Überwachung des Terminals mit ZLE
Deskriptor-Handler (siehe zshzle(1)) oder manipuliert mit Sysread und Syswrite (sehen
DAS ZSH/SYSTEM-MODUL in zshmodules(1)). Warnung: Gebrauch von Sysread und Syswrite is
nicht empfohlen, verwenden zpty -r und zpty -w es sei denn, Sie wissen genau, was Sie sind
tun.
zpty -d [ Name ... ]
Die zweite Form, mit der -d Option, wird verwendet, um zuvor gestartete Befehle zu löschen,
durch die Bereitstellung einer Liste ihrer Names. Wenn nein Name gegeben ist, werden alle Befehle gelöscht.
Das Löschen eines Befehls führt dazu, dass das HUP-Signal an den entsprechenden Prozess gesendet wird.
zpty -w [ -n ] Name [ Schnur ... ]
Die -w Option kann verwendet werden, um den Befehl an Name das Gegebene Schnurs als Eingabe
(durch Leerzeichen getrennt). Wenn die -n Option ist nicht gegeben, wird ein Zeilenumbruch an der
Ende.
Wenn nein Schnur bereitgestellt wird, wird die Standardeingabe in das Pseudoterminal kopiert; dies
kann vor dem Kopieren der vollständigen Eingabe anhalten, wenn das Pseudoterminal nicht blockiert.
Beachten Sie, dass der Befehl unter dem Pseudo-Terminal diese Eingabe so sieht, als wäre sie
eingegeben, also seien Sie vorsichtig beim Senden spezieller TTY-Treiberzeichen wie Wortlöschung,
Zeilenkill und Dateiende.
zpty -r [ -mt ] Name [ stoppen [ Anleitungen ]]
Die -r Option kann verwendet werden, um die Ausgabe des Befehls zu lesen NameMit nur einem Name
Argument wird die gelesene Ausgabe in die Standardausgabe kopiert. Sofern nicht das
Pseudo-Terminal ist nicht blockierend, das Kopieren wird fortgesetzt, bis der Befehl unter dem
Pseudo-Terminal-Exits; wenn nicht blockierend, wird nur so viel ausgegeben, wie sofort
verfügbar ist, wird kopiert. Der Rückgabestatus ist Null, wenn eine beliebige Ausgabe kopiert wird.
Wenn auch gegeben eine stoppen Argument, wird höchstens eine Zeile gelesen und im
Parameter mit dem Namen stoppen. Es kann sein, dass weniger als eine ganze Zeile gelesen wird, wenn das Pseudo-Terminal
nicht blockierend. Der Rückgabewert ist Null, wenn mindestens ein Zeichen in
stoppen.
Sollten Sie jetzt aufgefordert werden, ein Anleitungen ist ebenfalls angegeben, die Ausgabe wird gelesen, bis die gesamte gelesene Zeichenfolge übereinstimmt
die Anleitungen, auch im nicht blockierenden Fall. Der Rückgabestatus ist Null, wenn die
Die gelesene Zeichenfolge entspricht dem Muster, oder wenn der Befehl beendet wurde, aber mindestens ein
Zeichen konnte noch gelesen werden. Wenn die Option -m vorhanden ist, ist der Rückgabestatus
Null nur, wenn das Muster übereinstimmt. Zum Zeitpunkt dieses Schreibens maximal ein Megabyte
Ausgabe kann auf diese Weise verbraucht werden; wenn ein volles Megabyte gelesen wird, ohne dass die
Muster, der Rückgabestatus ist ungleich Null.
In allen Fällen ist der Rückgabestatus ungleich Null, wenn nichts gelesen werden konnte, und ist 2 if
Dies liegt daran, dass der Befehl abgeschlossen ist.
Besitzt das -r Option ist kombiniert mit der -t Option, zpty prüft, ob die Ausgabe
verfügbar, bevor Sie versuchen zu lesen. Wenn keine Ausgabe verfügbar ist, zpty sofort
gibt den Status zurück 1Bei Verwendung mit einem Anleitungen, das Verhalten bei einer fehlgeschlagenen Umfrage ist
ähnlich wie beim Beenden des Befehls: Der Rückgabewert ist Null, wenn mindestens ein
Das Zeichen konnte auch dann noch gelesen werden, wenn das Muster nicht übereinstimmte.
zpty -t Name
Die -t Option ohne die -r Mit dieser Option kann getestet werden, ob der Befehl Name is
noch läuft. Es gibt einen Null-Status zurück, wenn der Befehl ausgeführt wird und ein Wert ungleich Null
Wert andernfalls.
zpty [ -L ]
Die letzte Form, ohne Argumente, wird verwendet, um die aktuell ausgeführten Befehle aufzulisten.
definiert. Wenn die -L Option gegeben ist, geschieht dies in Form von Aufrufen an die zpty
eingebaut.
ZSH/ZSELECT MODULE
Die zsh/zselect Das Modul stellt einen integrierten Befehl zur Verfügung:
zselect [ -rwe ] [ -t Timeout ] [ -a Array ] [ -A Assoc ] [ fd ... ]
Die zselect builtin ist ein Frontend für den Systemaufruf „select“, der blockiert, bis
Ein Dateideskriptor ist zum Lesen oder Schreiben bereit oder weist einen Fehlerzustand auf, mit
ein optionales Timeout. Wenn dies auf Ihrem System nicht verfügbar ist, druckt der Befehl
eine Fehlermeldung und gibt den Status 2 zurück (normale Fehler geben den Status 1 zurück). Für mehr
Weitere Informationen finden Sie in der Dokumentation Ihres Systems. wählen(3). Beachten Sie, dass es keine
Verbindung mit dem gleichnamigen Shell-Builtin.
Argumente und Optionen können in beliebiger Reihenfolge vermischt werden. Argumente ohne Optionen sind
Dateideskriptoren, die dezimale Ganzzahlen sein müssen. Standardmäßig sind Dateideskriptoren
zum Lesen getestet werden, d.h. zselect wird zurückgegeben, wenn Daten verfügbar sind
aus dem Dateideskriptor gelesen wird, oder genauer gesagt, wenn ein Lesevorgang aus dem
Datei-Deskriptor wird nicht blockiert. Nach einem -r, -w und -e, die angegebenen Dateideskriptoren
auf Lese-, Schreib- oder Fehlerzustände geprüft werden sollen. Diese Optionen und ein
Es kann eine beliebige Liste von Dateideskriptoren in beliebiger Reihenfolge angegeben werden.
(Das Vorhandensein eines „Fehlerzustands“ ist in der Dokumentation für
viele Implementierungen des Select-Systemaufrufs. Laut neueren Versionen von
die POSIX-Spezifikation, es ist wirklich ein Ausnahme Zustand, von dem die einzige
Standardbeispiel sind Out-of-Band-Daten, die über einen Socket empfangen werden. Zsh-Benutzer sind also
unwahrscheinlich, dass man die -e Option nützlich.)
Die Option `-t Timeout' gibt einen Timeout in Hundertstelsekunden an. Dies kann sein
Null, in diesem Fall werden die Dateideskriptoren einfach abgefragt und zselect werden wir
sofort zurückkehren. Es ist möglich, zselect ohne Dateideskriptoren und mit einem
Timeout ungleich Null zur Verwendung als feinkörnigerer Ersatz für „sleep“. Beachten Sie jedoch,
der Rückgabestatus ist bei einem Timeout immer 1.
Die Option `-a Array' gibt an, dass Array sollte so eingestellt werden, dass die Datei
Deskriptor(en), die bereit sind. Wenn die Option nicht angegeben ist, wird das Array antworten wird sein
wird für diesen Zweck verwendet. Das Array enthält eine Zeichenfolge ähnlich den Argumenten
für zselect. Beispielsweise,
zselect -t 0 -r 0 -w 1
könnte sofort mit dem Status 0 zurückkehren und $Antwort enthält `-r 0 -w 1' zeigen
dass beide Dateideskriptoren für die angeforderten Operationen bereit sind.
Die Option `-A Assoc' gibt an, dass das assoziative Array Assoc sollte auf eingestellt sein
geben Sie die bereitstehenden Dateideskriptoren an. Diese Option überschreibt die Option
-a, noch wird antworten geändert werden. Die Schlüssel von Assoc sind die Dateideskriptoren und
die entsprechenden Werte sind beliebige der Zeichen `rwe', um den Zustand anzuzeigen.
Der Befehl gibt den Status 0 zurück, wenn einige Dateideskriptoren zum Lesen bereit sind. Wenn
Die Operation ist abgelaufen oder es wurde ein Timeout von 0 angegeben und es wurden keine Dateideskriptoren
bereit ist oder ein Fehler aufgetreten ist, wird der Status 1 zurückgegeben und das Array wird nicht gesetzt
(noch in irgendeiner Weise verändert). Wenn bei der Auswahloperation ein Fehler aufgetreten ist,
Es wird eine entsprechende Fehlermeldung gedruckt.
ZSH/ZUTIL MODULE
Die zsh/zutil Das Modul fügt nur einige integrierte Funktionen hinzu:
zstyle [ -L [ Anleitungen [ Stil ] ] ]
zstyle [ -e | - | -- ] Anleitungen Stil Schnur ...
zstyle -d [ Anleitungen [ Stil ... ] ]
zstyle -g Name [ Anleitungen [ Stil ]]
zstyle -{a|b|s} Kontext Stil Name [ Sept ]
zstyle -{T|t} Kontext Stil [ Schnur ... ]
zstyle -m Kontext Stil Anleitungen
Dieser eingebaute Befehl dient zum Definieren und Suchen von Stilen. Stile sind Paare von
Namen und Werte, wobei die Werte aus einer beliebigen Anzahl von Zeichenfolgen bestehen. Sie sind
zusammen mit Mustern gespeichert und die Suche erfolgt durch die Angabe einer Zeichenfolge, genannt
`Kontext', der mit den Mustern verglichen wird. Die Definition, die für das erste
passendes Muster wird zurückgegeben.
Zur Sortierung der Vergleiche werden die Muster vom spezifischsten zum am wenigsten spezifischen gesucht.
spezifisch, und Muster, die ebenso spezifisch sind, behalten die Reihenfolge, in der sie
definiert. Ein Muster gilt als spezifischer als ein anderes, wenn es enthält
mehrere Komponenten (Teilstrings durch Doppelpunkte getrennt) oder wenn die Muster für die
Komponenten sind spezifischer, wobei einfache Zeichenfolgen als spezifischer gelten
spezifischer als Muster und komplexe Muster gelten als spezifischer als
das Muster `*'.
Die erste Form (ohne Argumente) listet die Definitionen auf. Stile werden in
alphabetischer Reihenfolge und Muster werden in der Reihenfolge angezeigt zstyle werde sie testen.
Besitzt das -L Option angegeben ist, erfolgt die Auflistung in Form von Aufrufen an zstyledem „Vermischten Geschmack“. Seine
Das optionale erste Argument ist ein Muster, das mit der Zeichenfolge abgeglichen wird
als Muster für den Kontext angegeben; beachten Sie, dass dies beispielsweise bedeutet: `zstyle
-L ":Fertigstellung:*"' wird mit jedem angegebenen Muster übereinstimmen, das mit ` beginnt.:Fertigstellung:', nicht
nur ":Fertigstellung:*": benutzen ":Fertigstellung:\*" um dem zu entsprechen. Die optionale zweite
Das Argument begrenzt die Ausgabe auf eine bestimmte Stil (kein Muster). -L ist nicht
mit allen anderen Optionen kompatibel.
Die anderen Formen sind die folgenden:
zstyle [ - | -- | -e ] Anleitungen Stil Schnur ...
Definiert die gegebene Stil für die Anleitungen an. Nach der Installation können Sie HEIC-Dateien mit der Schnurs als Wert. Wenn
die -e Option ist gegeben, die Schnurs werden aneinandergereiht (getrennt durch
Leerzeichen) und die resultierende Zeichenfolge wird ausgewertet (auf die gleiche Weise wie
getan von der eval eingebauter Befehl), wenn der Stil nachgeschlagen wird. In diesem Fall
der Parameter `antworten' muss zugewiesen werden, um die Zeichenfolgen festzulegen, die nach dem
Auswertung. Bevor Sie den Wert auswerten, antworten ist nicht gesetzt, und wenn es noch
Wenn der Stil nach der Auswertung nicht gesetzt ist, wird er so behandelt, als wäre er nicht gesetzt.
zstyle -d [ Anleitungen [ Stil ... ] ]
Stildefinitionen löschen. Ohne Argumente werden alle Definitionen gelöscht,
mit einem Anleitungen Alle Definitionen für dieses Muster werden gelöscht und ggf.
Stils angegeben sind, werden nur die Stile gelöscht, die für die Anleitungen.
zstyle -g Name [ Anleitungen [ Stil ]]
Rufen Sie eine Stildefinition ab. Die Name wird als Name eines Arrays verwendet in
in dem die Ergebnisse gespeichert werden. Ohne weitere Argumente werden alle Muster
definiert werden, werden zurückgegeben. Mit einem Anleitungen die für dieses Muster definierten Stile sind
zurück und mit beiden ein Anleitungen und eine Stil, die Wertezeichenfolgen davon
Kombination wird zurückgegeben.
Die anderen Formulare können zum Nachschlagen oder Testen von Mustern verwendet werden.
zstyle -s Kontext Stil Name [ Sept ]
Der Parameter Name wird auf den Wert des als Zeichenfolge interpretierten Stils gesetzt.
Wenn der Wert mehrere Zeichenfolgen enthält, werden diese mit Leerzeichen (oder
an. Nach der Installation können Sie HEIC-Dateien mit der Sept Zeichenfolge, falls angegeben) zwischen ihnen.
zstyle -b Kontext Stil Name
Der Wert wird gespeichert in Name als Boolean, also als String `ja' wenn die
Der Wert hat nur eine Zeichenfolge und diese Zeichenfolge ist gleich einem von `ja', `was immer dies auch sein sollte.',
`on', oder `1'. Wenn der Wert eine andere Zeichenfolge ist oder mehr als eine Zeichenfolge enthält,
der Parameter ist auf ` gesetztnicht'.
zstyle -a Kontext Stil Name
Der Wert wird gespeichert in Name als Array. Wenn Name wird deklariert als
assoziatives Array, die erste, dritte usw. Zeichenfolge werden als Schlüssel verwendet und
die anderen Zeichenfolgen werden als Werte verwendet.
zstyle -t Kontext Stil [ Schnur ... ]
zstyle -T Kontext Stil [ Schnur ... ]
Testen Sie den Wert eines Stils, d. h. die -t Option gibt nur einen Status zurück (setzt
$?). Ohne Schnur Der Rückgabestatus ist Null, wenn der Stil definiert ist
für mindestens ein passendes Muster, hat nur eine Zeichenfolge in seinem Wert und
das ist gleich einem von `was immer dies auch sein sollte.', `ja', `on' oder `1'. Wenn überhaupt Schnurs sind gegeben
Der Status ist Null, wenn und nur wenn mindestens einer der Schnurs ist gleich bei
mindestens eine der Zeichenfolgen im Wert. Wenn der Stil definiert ist, aber nicht
übereinstimmen, ist der Rückgabestatus 1. Wenn der Stil nicht definiert ist, lautet der Status 2.
Die -T Option testet die Werte des Stils wie -t, aber es gibt den Status zurück
Null (anstatt 2), wenn der Stil für kein passendes Muster definiert ist.
zstyle -m Kontext Stil Anleitungen
Entspricht einem Wert. Gibt den Status Null zurück, wenn Anleitungen entspricht mindestens einem der
die Zeichenfolgen im Wert.
zformat -f stoppen Format spec ...
zformat -a Array Sept spec ...
Dieses Builtin bietet zwei verschiedene Formatierungsformen. Die erste Form wird ausgewählt
an. Nach der Installation können Sie HEIC-Dateien mit der -f Option. In diesem Fall Format Zeichenfolge wird geändert, indem ersetzt wird
Sequenzen, die mit einem Prozentzeichen beginnen, mit Zeichenfolgen aus dem specs. Jeder
spec sollte die Form „habenverkohlen:Schnur', was dazu führen wird, dass jeder Anschein des
Folge `%verkohlen' im Format ersetzt werden durch die Schnur. Das `%'-Sequenz kann auch
enthalten optionale minimale und maximale Feldbreitenangaben zwischen den `%' und
das `verkohlen' in der Form `%Min..maxc', d. h. die minimale Feldbreite wird zuerst angegeben und
Wenn die maximale Feldbreite verwendet wird, muss ein Punkt vorangestellt werden. Die Angabe einer
Die minimale Feldbreite bewirkt, dass das Ergebnis rechts mit Leerzeichen aufgefüllt wird, wenn
Schnur ist kürzer als die gewünschte Breite. Ein Auffüllen nach links kann erreicht werden durch
gibt eine negative minimale Feldbreite an. Wenn eine maximale Feldbreite angegeben ist,
Schnur wird nach so vielen Zeichen abgeschnitten. Schließlich `%' Sequenzen für
das Gegebene specs verarbeitet wurden, wird die resultierende Zeichenfolge im
Parameter stoppen.
Die %-escapes verstehen auch ternäre Ausdrücke in der Form, die von Prompts verwendet wird. Die
% folgt ein `(' und dann ein gewöhnliches Formatbezeichnerzeichen wie beschrieben
oben. Es kann eine Reihe von Ziffern entweder vor oder nach dem `('; diese geben an
eine Testnummer, die standardmäßig Null ist. Auch negative Zahlen sind zulässig. Ein
Auf den Formatbezeichner folgt ein beliebiges Trennzeichen, gefolgt von einem
Stück "wahren" Text, das Trennzeichen wieder, ein Stück "falschen" Text und ein
schließende Klammer. Der vollständige Ausdruck (ohne die Ziffern) sieht also so aus
`%(X.text1.text2)', außer dass die `.' ist beliebig. Der angegebene Wert
für den Formatbezeichner in der verkohlen:Schnur Ausdrücke werden ausgewertet als
mathematischen Ausdruck und mit der Testzahl verglichen. Wenn sie gleich sind,
text1 wird ausgegeben, sonst text2 ausgegeben. Eine Klammer kann maskiert werden in text2 as
%)Entweder von text1 or text2 kann verschachtelte enthalten %-entkommt.
Beispielsweise:
zformat -f ANTWORTEN "Die beantworten is '%3(c.yes.no)'." c:3
gibt "Die Antwort ist 'Ja'." aus. ANTWORTEN da der Wert für den Formatbezeichner c
ist 3, was mit dem Ziffernargument des ternären Ausdrucks übereinstimmt.
Die zweite Form, die Verwendung der -a Option, kann zum Ausrichten von Zeichenfolgen verwendet werden. Hier
specs haben die Form `links:Recht' wo `links' und `Recht' sind beliebige Zeichenfolgen.
Diese Zeichenfolgen werden geändert, indem die Doppelpunkte durch die Sept Schnur und Polsterung
die links Zeichenfolgen mit Leerzeichen rechts, so dass die Sept Zeichenfolgen im Ergebnis
(und daher die Recht Zeichenfolgen nach ihnen) sind alle ausgerichtet, wenn die Zeichenfolgen gedruckt werden
untereinander. Alle Zeichenfolgen ohne Doppelpunkt bleiben unverändert und alle Zeichenfolgen
mit einem leeren Recht Zeichenfolge wird der abschließende Doppelpunkt entfernt. In beiden Fällen
Die Länge der Saiten wird nicht dazu verwendet, um zu bestimmen, wie die anderen Saiten
ausgerichtet. Die resultierenden Zeichenfolgen werden im Array.
zregexparse
Dies implementiert einige interne Funktionen des _regex_arguments Funktion.
zparseopts [ -DKME ] [ -a Array ] [ -A Assoc ] spec ...
Dieses Builtin vereinfacht das Parsen von Optionen in Positionsparametern, d.h. die
Reihe von Argumenten gegeben durch $*. Jeder spec beschreibt eine Option und muss von der
bilden`wählen[=Array]'. Wenn eine Option beschrieben durch wählen findet sich in der Positions
Parameter wird es in die Array angegeben mit dem -a Option; wenn die
optional `=Array' angegeben ist, wird es stattdessen in dieses Array kopiert.
Beachten Sie, dass es ein Fehler ist, spec ohne ein `=Array' es sei denn, einer der -a
or -A Optionen verwendet wird.
Es sei denn, die -E Option angegeben ist, stoppt das Parsen bei der ersten Zeichenfolge, die nicht
beschrieben von einem der specs. Auch mit -E, das Parsen stoppt immer bei einer Positionsbestimmung
Parameter gleich `-' oder `--'.
Die wählen Beschreibung muss eines der folgenden sein. Alle Sonderzeichen
kann im Optionsnamen erscheinen, sofern ihm ein Backslash vorangestellt ist.
Name
Name+ Die Name ist der Name der Option ohne das führende `-'. Um eine
Lange Option im GNU-Stil, eine der üblichen zwei führenden `-' muss enthalten sein in
Name; zum Beispiel ein `--DateiDie Option ' wird durch ein Name von `-Datei'.
Wenn ein `+' erscheint nach Namewird die Option angehängt an Array jedes Mal ist es
in den Positionsparametern gefunden; ohne das `+' nur die letzte Auftreten
der Option bleibt erhalten.
Wenn eine dieser Formen verwendet wird, benötigt die Option kein Argument, sodass das Parsen
stoppt, wenn der nächste Positionsparameter nicht auch mit ` beginnt-' (es sei denn
die -E Option verwendet wird).
Name:
Name:-
Name:: Wenn ein oder zwei Doppelpunkte angegeben sind, nimmt die Option ein Argument an; mit einem
Doppelpunkt, das Argument ist obligatorisch und mit zwei Doppelpunkten ist es optional. Die
Argument wird angehängt an die Array nach der Option selbst.
Ein optionales Argument wird in dasselbe Array-Element wie der Optionsname eingefügt
(Beachten Sie, dass dadurch leere Zeichenfolgen als Argumente nicht mehr unterscheidbar sind). Ein
obligatorisches Argument wird als separates Element hinzugefügt, es sei denn, das `:-' Form ist
verwendet, wobei das Argument in dasselbe Element eingefügt wird.
Ein `+' wie oben beschrieben kann zwischen den Name und der erste Doppelpunkt.
Die Optionen von zparseopts selbst sind:
-a Array
Wie oben beschrieben, wird hiermit das Standard-Array bezeichnet, in dem die
anerkannte Optionen.
-A Assoc
Wenn dies gegeben ist, werden die Optionen und ihre Werte auch in eine
assoziatives Array mit den Optionsnamen als Schlüssel und den Argumenten (falls vorhanden)
als Werte.
-D Wenn diese Option angegeben ist, werden alle gefundenen Optionen aus der Positionsliste entfernt.
Parameter der aufrufenden Shell oder Shell-Funktion, bis einschließlich
alle nicht beschriebenen specs. Dies ist vergleichbar mit der Verwendung der verschieben eingebaut.
-K Mit dieser Option werden die Arrays, die mit der -a Option und mit der
`=Array' Formulare bleiben unverändert, wenn keines der specs für sie verwendet wird.
Andernfalls wird das gesamte Array ersetzt, wenn einer der specs wird verwendet.
Einzelne Elemente von assoziativen Arrays, die mit dem -A Option sind
bewahrt von -K. Dies ermöglicht die Zuweisung von Standardwerten zu Arrays vor
Aufruf zparseopts.
-M Dadurch werden die Zuweisungsregeln geändert, um eine Zuordnung zwischen gleichwertigen Optionen zu implementieren.
Namen. Falls spec verwendet das `=Array'-Form, die Zeichenfolge Array wird interpretiert
als Name eines anderen spec, mit dem Sie auswählen können, wo die
Werte. Wenn keine anderen spec gefunden wird, werden die Werte wie gewohnt gespeichert.
ändert nur die Art und Weise, wie die Werte gespeichert werden, nicht die Art und Weise $* wird analysiert, also
Ergebnisse können unvorhersehbar sein, wenn die `Name+' Spezifizierer wird verwendet
inkonsistent.
-E Dies ändert die Parsing-Regeln zu nicht Stoppen Sie bei der ersten Saite, die nicht
beschrieben von einem der specs. Es kann verwendet werden, um zu testen, oder (falls verwendet
Zusammen mit -D) Extrahieren Sie Optionen und ihre Argumente und ignorieren Sie alle anderen
Optionen und Argumente, die in den Positionsparametern enthalten sein können.
Zum Beispiel,
kompensieren -- -a -bx -c y -cz baz -cend
zparseopts a=foo b:=bar c+:=bar
wird die Wirkung haben,
foo=(-a)
bar=(-b x -c y -c z)
Die Argumente aus `baz' wird nicht verwendet.
Als Beispiel für die -E Option, berücksichtigen Sie:
kompensieren -- -a x -b y -c z Arg1 Arg2
zparseopts -E -D b:=bar
wird die Wirkung haben,
bar=(-b y)
kompensieren -- -a x -c z Arg1 Arg2
D.h. die Option -b und seine Argumente werden aus den Positionsparametern übernommen und
in das Array einfügen Bar.
Die -M Option kann wie folgt verwendet werden:
kompensieren -- -a -bx -c y -cz baz -cend
zparseopts -A Bar -M a=foo b+: c:=b
die Wirkung haben,
foo=(-a)
bar=(-a '' -b xyz)
Verwenden Sie zshmodules online mit den Diensten von onworks.net