Dies ist der Befehls-Tic, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
Tick - der Termininfo Eintragsbeschreibungs-Compiler
ZUSAMMENFASSUNG
Tick [-01CDGIKLNTUVacfgqrstx] [-e Namen] [-o dir] [-Q[n]] [-R Teilmenge] [-v[n]] [-w[n]] Datei
BESCHREIBUNG
Die Tick Befehl übersetzt a Termininfo Datei vom Quellformat in kompiliertes Format umwandeln. Der
Das kompilierte Format ist für die Verwendung mit den Bibliotheksroutinen in erforderlich Flüche(3Flüche).
Wie in der Begriff(5) Die Datenbank kann entweder ein Verzeichnisbaum sein (eine Datei pro
Terminaleintrag) oder eine gehashte Datenbank (ein Datensatz pro Eintrag). Der Tick Befehl schreibt nur
eine Art von Eintrag, je nachdem, wie er gebaut wurde:
· Bei Verzeichnisbäumen das Verzeichnis der obersten Ebene, z. B. /usr/share/termininfo, gibt die an
Speicherort der Datenbank.
· Für gehashte Datenbanken ist ein Dateiname erforderlich. Wenn die angegebene Datei dadurch nicht gefunden wird
Name, kann aber durch Hinzufügen des Suffixes „.db“ gefunden werden, dann wird dieser verwendet.
Der Standardname für die Hash-Datenbank ist derselbe wie der Standardverzeichnisname
(nur das Suffix „.db“ hinzugefügt).
In beiden Fällen (Verzeichnis oder Hash-Datenbank) Tick Wenn dies der Fall ist, wird der Container erstellt
nicht existieren. Bei einem Verzeichnis wäre dies das „Terinfo“-Blatt und nicht „Terinfo.db“.
Datei.
Die Ergebnisse werden normalerweise in der Terminfo-Datenbank des Systems abgelegt /etc/termininfodem „Vermischten Geschmack“. Seine
Die kompilierte Terminalbeschreibung kann in einer anderen Terminfo-Datenbank abgelegt werden. Es gibt
Zwei Möglichkeiten, dies zu erreichen:
· Erstens können Sie den Systemstandard entweder überschreiben, indem Sie Folgendes verwenden -o Option, oder von
Einstellen der Variablen TERMINFO in Ihrer Shell-Umgebung an einen gültigen Datenbankspeicherort.
· Zweitens, wenn Tick kann nicht reinschreiben /etc/termininfo oder der mit Ihrem angegebene Standort
TERMINFO-Variable sucht nach dem Verzeichnis $HOME/.termininfo (oder gehashte Datenbank
$HOME/.termininfo.db); Wenn dieser Ort existiert, wird der Eintrag dort platziert.
Von Bibliotheken, die Terminfo-Einträge lesen, wird erwartet, dass sie nacheinander einchecken
· ein mit der Umgebungsvariablen TERMINFO angegebener Ort,
· $HOME/.termininfo,
· Verzeichnisse, die in der Umgebungsvariablen TERMINFO_DIRS aufgeführt sind,
· eine kompilierte Liste von Verzeichnissen (kein Standardwert) und
· die Termininfo-Datenbank des Systems (/etc/termininfo).
OPTIONAL
-0 beschränkt die Ausgabe auf eine einzelne Zeile
-1 beschränkt die Ausgabe auf eine einzelne Spalte
-a erzählt Tick um auskommentierte Funktionen beizubehalten, anstatt sie zu verwerfen.
Funktionen werden kommentiert, indem ihnen ein Punkt vorangestellt wird. Dies legt die fest -x
Option, da sie die auskommentierten Einträge als benutzerdefinierte Namen behandelt. Wenn die
Quelle ist termcap, akzeptieren Sie die zweistelligen Namen, die in Version 2 erforderlich sind. Andernfalls
diese werden ignoriert.
-C Erzwingen Sie die Übersetzung der Quelle in das Termcap-Format. Hinweis: Dies unterscheidet sich von der -C ganz ohne irgendetwas tun oder drücken zu müssen.
of infocmp(1) dadurch, dass es nicht nur Fähigkeitsnamen übersetzt, sondern auch
übersetzt Terminfo-Zeichenfolgen in das Termcap-Format. Fähigkeiten, die es nicht gibt
übersetzbare Dateien werden im Eintrag unter ihrem Termininfo-Namen belassen, aber auskommentiert
mit zwei vorangestellten Punkten. Das tatsächlich verwendete Format enthält einige Verbesserungen für
Escapezeichen aus dem Terminfo-Format. Für eine strengere BSD-Kompatibilität
Übersetzung, fügen Sie die hinzu -K .
Wenn dies kombiniert wird mit -c, Tick führt zusätzliche Kontrollen durch, um Fälle zu melden, in denen die
terminfo-Werte haben in termcap-Form keine exakte Entsprechung. Zum Beispiel:
· sgr Normalerweise wird keine Konvertierung durchgeführt, da termcap nicht in der Lage ist, damit zu arbeiten
mehr als zwei Parameter, und weil termcap viele davon fehlen
Arithmetische/logische Operatoren, die in terminfo verwendet werden.
· Fähigkeiten mit mehr als einer Verzögerung oder mit Verzögerungen vor dem Ende der
string wird nicht vollständig konvertiert.
-c erzählt Tick nur prüfen Datei für Fehler, einschließlich Syntaxproblemen und unsachgemäßer Verwendung
Links. Wenn Sie angeben -C (-I) Mit dieser Option gibt der Code Warnungen aus
Einträge, die nach Nutzungsauflösung mehr als 1023 (4096) Bytes lang sind. Wegen
eine feste Pufferlänge in älteren Termcap-Bibliotheken sowie eine fehlerhafte Überprüfung für
Pufferlänge (und ein dokumentiertes Limit in terminfo), können diese Einträge Core verursachen
Dumps mit anderen Implementierungen.
Tick überprüft die String-Funktionen, um sicherzustellen, dass diejenigen mit Parametern gültig sind
Ausdrücke. Diese Prüfung erfolgt nur für die vordefinierten Zeichenfolgenfunktionen. diese
die mit definiert sind -x Optionen werden ignoriert.
-D erzählt Tick um die ihm bekannten Datenbankspeicherorte auszugeben und zu beenden. Der erste
Der angezeigte Speicherort ist derjenige, an den kompilierte Terminalbeschreibungen geschrieben werden.
If Tick kann gemäß den Regeln keinen beschreibbaren Datenbankspeicherort finden
Wie oben zusammengefasst, wird eine Diagnose gedruckt und mit einem Fehler beendet
Drucken einer Liste der Datenbankstandorte.
-e Namen
Beschränken Sie Schreibvorgänge und Übersetzungen auf die folgende durch Kommas getrennte Liste von Terminals.
Wenn ein Name oder Alias eines Terminals mit einem der Namen in der Liste übereinstimmt, wird der Eintrag angezeigt
werden wie gewohnt geschrieben bzw. übersetzt. Andernfalls wird keine Ausgabe generiert
Es. Der Optionswert wird als eine Datei interpretiert, die die Liste enthält, wenn sie eine enthält
'/'. (Hinweis: Abhängig davon, wie Tic kompiliert wurde, kann diese Option erforderlich sein -I or -C.)
-f Zeigt komplexe Termininfo-Strings an, die if/then/else/endif-Ausdrücke enthalten
zur besseren Lesbarkeit eingerückt.
-G Zeigen Sie konstante Literale in Dezimalform anstelle ihrer Zeichenäquivalente an.
-g Zeigen Sie konstante Zeichenliterale in Anführungszeichen und nicht in ihrer Dezimalform an
Äquivalente.
-I Quellübersetzung in Terminfo-Format erzwingen.
-K Unterdrücken Sie einige seit langem bestehende Ncurses-Erweiterungen für das Termcap-Format, z. B. „\s“ für
Raum.
-L Erzwingen Sie die Übersetzung der Quelle in das Terminfo-Format unter Verwendung der aufgelisteten langen C-Variablennamen
imterm.h>
-N Deaktivieren Sie intelligente Standardeinstellungen. Normalerweise wird bei der Übersetzung von termcap nach terminfo die
Der Compiler geht von einer Reihe von Annahmen über die Standardwerte der String-Fähigkeiten aus
reset1_string, Wagenrücklauf, Cursor_links, Cursor_Down, scroll_forward, Tab,
Neue Zeile, key_backspace, key_left und Taste nach unten, dann versucht, veraltet zu verwenden
Termcap-Funktionen, um korrekte Werte abzuleiten. Normalerweise unterdrückt es auch die Ausgabe
von veralteten Termcap-Funktionen wie z bs. Diese Option erzwingt eine wörtlichere Angabe
Übersetzung, die auch die veralteten Funktionen beibehält.
-odir Schreiben Sie kompilierte Einträge an den angegebenen Datenbankspeicherort. Überschreibt TERMINFO
variable Umgebung
-Qn Anstatt die Quelle im Terminfo-Format (Textformat) anzuzeigen, drucken Sie die kompilierte (binäre) Datei aus.
Format im Hexadezimal- oder Base64-Format, abhängig vom Wert der Option:
1 hexadezimal
2 Basis64
3 hexadezimal und Basis64
-q Unterdrücken Sie Kommentare und Leerzeilen, wenn Sie übersetzte Quellen anzeigen.
-RTeilmenge
Beschränken Sie die Ausgabe auf eine bestimmte Teilmenge. Diese Option ist für die Verwendung mit archaischen Versionen von vorgesehen
terminfo wie diejenigen auf SVr1, Ultrix oder HP/UX, die nicht den gesamten Satz von unterstützen
SVR4/XSI Curses terminfo; und völlig kaputte Ports wie AIX 3.x, die ihre eigenen haben
eigene Erweiterungen, die nicht mit SVr4/XSI kompatibel sind. Verfügbare Teilmengen sind „SVr1“, „Ultrix“,
„HP“, „BSD“ und „AIX“; sehen Termininfo(5) für Details.
-r Erzwingen Sie die Eingabeauflösung (damit keine verbleibenden TC-Funktionen vorhanden sind), selbst wenn Sie dies tun
Übersetzung ins Termcap-Format. Dies kann erforderlich sein, wenn Sie eine Termcap vorbereiten
Datei für eine Termcap-Bibliothek (z. B. GNU Termcap bis Version 1.3 oder BSD Termcap).
bis 4.3BSD), das nicht mehrere tc-Funktionen pro Eintrag verarbeitet.
-s Fassen Sie die Kompilierung zusammen, indem Sie den Datenbankspeicherort anzeigen, in dem sich Einträge befinden
geschrieben und die Anzahl der Einträge, die zusammengestellt werden.
-T beseitigt Größenbeschränkungen für den generierten Text. Dies ist vor allem nützlich für
Tests und Analysen, da die zusammengestellten Beschreibungen begrenzt sind (z. B. 1023 für
termcap, 4096 für terminfo).
-t erzählt Tick um auskommentierte Funktionen zu verwerfen. Normalerweise beim Übersetzen von
terminfo zu termcap, nicht übersetzbare Funktionen werden auskommentiert.
-U erzählt Tick um die Daten nach dem Parsen der Quelldatei nicht nachzubearbeiten. Normalerweise ist es
leitet Daten ab, die in älteren Terminfo-Daten oder in Termcaps häufig fehlen.
-V meldet die Version von ncurses, die in diesem Programm verwendet wurde, und beendet sich.
-vn Gibt an, dass die (ausführliche) Ausgabe in Standard-Fehlerverfolgungsinformationen geschrieben wird
zeigt TickDer Fortschritt. Der optionale Parameter n ist eine Zahl von 1 bis 10,
einschließlich, Angabe des gewünschten Detaillierungsgrades der Informationen. Wenn n wurde weggelassen,
Die Standardstufe ist 1. Wenn n angegeben ist und größer als 1 ist, beträgt der Detaillierungsgrad
erhöht.
Die Debug-Flag-Ebenen sind wie folgt:
1 Namen der erstellten und verknüpften Dateien
2 Informationen zur „Nutzung“-Einrichtung
3 Statistiken aus dem Hashing-Algorithmus
5 Speicherzuweisungen für String-Tabellen
7 Einträge in die String-Tabelle
8 Liste der vom Scanner gefundenen Token
9 Alle Werte wurden bei der Erstellung der Hash-Tabelle berechnet
Wenn die Debug-Ebene n ist nicht gegeben, es wird als eins angenommen.
-wn Gibt die Breite der Ausgabe an. Der Parameter ist optional. Wenn es weggelassen wird, ist es
standardmäßig auf 60.
-x Behandeln Sie unbekannte Funktionen als benutzerdefiniert. Das heißt, wenn Sie einen Funktionsnamen angeben
welche Tick nicht erkennt, wird daraus der Typ (boolescher Wert, Zahl oder Zeichenfolge) abgeleitet
die Syntax und erstellen Sie dafür einen erweiterten Tabelleneintrag. Benutzerdefinierte Funktion
Zeichenfolgen, deren Name mit „k“ beginnt, werden als Funktionstasten behandelt.
PARAMETER
Datei enthält einen oder mehrere Termininfo Terminalbeschreibungen im Quellformat [siehe
Termininfo(5)]. Jede Beschreibung in der Datei beschreibt die Fähigkeiten eines
bestimmtes Terminal.
If Datei „-“ ist, werden die Daten von der Standardeingabe gelesen. Der Datei Parameter
kann auch der Pfad eines Zeichengeräts sein.
WIRD BEARBEITET
Alle bis auf eine der von erkannten Fähigkeiten Tick sind dokumentiert in Termininfo(5). Das
Ausnahme ist die - Fähigkeit.
Wenn eine -=Eintrag-Name Das Feld wird in einem Terminaleintrag entdeckt, der gerade kompiliert wird.
Tick liest die Binärdatei ein von /etc/termininfo um den Eintrag abzuschließen. (Einträge erstellt aus
Datei wird zuerst verwendet. Tick dupliziert die Funktionen in Eintrag-Name für den aktuellen
Eintrag, mit Ausnahme der Funktionen, die explizit im aktuellen definiert sind
Eintrag.
Wenn ein Eintrag, z. B. Eintragsname_1, enthält ein verwenden=Eintrag_Name_2 Feld, alle storniert
Fähigkeiten in Eintrag_Name_2 muss auch in erscheinen Eintragsname_1 bevor verwenden= für diese
Funktionen, die storniert werden sollen Eintragsname_1.
Die Gesamtzahl der kompilierten Einträge darf 4096 Byte nicht überschreiten. Das Namensfeld darf 512 Byte nicht überschreiten.
Terminalnamen überschreiten die maximale Aliaslänge (32 Zeichen auf Systemen mit long
Dateinamen, andernfalls 14 Zeichen) werden auf die maximale Alias-Länge gekürzt und a
Es wird eine Warnmeldung gedruckt.
KOMPATIBILITÄT
Es gibt einige Beweise dafür, dass dies historisch ist Tick Implementierungen behandelten Beschreibungsfelder mit
keine Leerzeichen als zusätzliche Aliase oder Kurznamen enthalten. Das Tick macht das nicht,
Es wird jedoch gewarnt, wenn Beschreibungsfelder möglicherweise auf diese Weise behandelt werden, und sie werden überprüft
gefährliche Charaktere.
ERWEITERUNGEN
Im Gegensatz zum SVr4 Tick Mit dem Befehl kann diese Implementierung tatsächlich Termcap-Quellen kompilieren. In
Tatsächlich können Einträge in der Terminfo- und Termcap-Syntax in einer einzigen Quelldatei gemischt werden. Sehen
Termininfo(5) für die Liste der Termcap-Namen, die als äquivalent zu Terminfo-Namen angesehen werden.
Die SVr4-Handbuchseiten enthalten keine eindeutigen Angaben zu den Auflösungsregeln - Fähigkeiten. Das
Implementierung von Tick wird finden - Ziele irgendwo in der Quelldatei oder irgendwo in
Der Dateibaum hat seinen Ursprung bei TERMINFO (ob TERMINFO definiert ist) oder in der des Benutzers
$HOME/.termininfo Datenbank (falls vorhanden) oder (endlich) irgendwo im Dateibaum des Systems
der zusammengestellten Einträge.
Die Fehlermeldungen daraus Tick haben das gleiche Format wie GNU C-Fehlermeldungen und können es auch sein
analysiert durch die Kompilierungsfunktion von GNU Emacs.
Die -0, -1, -C, -G, -I, -N, -R, -T, -V, -a, -e, -f, -g, -o, -r, -s, -t und -x Optionen sind
Wird unter SVr4 nicht unterstützt. Der SVr4 -c Der Modus meldet keine Links mit fehlerhafter Nutzung.
System V kompiliert keine Einträge und liest auch keine Einträge von Ihrem $HOME/.termininfo Datenbank
es sei denn, TERMINFO ist explizit darauf festgelegt.
Nutzen Sie Tic online über die Dienste von onworks.net
