Dies ist der Befehl lksh, 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
lksch – Legacy-Korn-Shell basierend auf mksh
ZUSAMMENFASSUNG
lksch [-+abCefhiklmnprUuvXx] [-+o wählen] [-c Schnur | -s | Datei [args ...]]
BESCHREIBUNG
lksch ist ein Befehlsinterpreter, der ausschließlich für die Ausführung älterer Shell-Skripte gedacht ist. Es ist
gebaut auf mksch; Einzelheiten zur Skriptsprache finden Sie auf der entsprechenden Handbuchseite. Es ist
empfohlen, Skripte dorthin zu portieren mksch anstatt sich auf veraltete oder idiotische POSIX-Vorgaben zu verlassen
Verhalten, da die Skriptsprache MirBSD Korn Shell viel konsistenter ist.
Beachten Sie, dass der Aufruf dringend empfohlen wird lksch mit mindestens dem -o POSIX Option, wenn nicht
beides und -o sh, um eine bessere Kompatibilität mit dem POSIX-Standard zu gewährleisten (d. h
wahrscheinlich, warum Sie verwenden lksch übrig mksch an erster Stelle) bzw. Legacy-Skripte.
LEGACY MODE
lksch weist derzeit folgende Unterschiede auf mksch:
· Es gibt keine explizite Unterstützung für die interaktive Nutzung, noch für die Bearbeitung über die Befehlszeile oder
Geschichtscode. Somit, lksch ist auch nicht als Login-Shell eines Benutzers geeignet; verwenden mksch
stattdessen.
· Die Zeichenfolge KSH_VERSION identifiziert lksch als „LEGACY KSH“ anstelle von „MIRBSD KSH“. Notiz
dass der Rest der Versionszeichenfolge zwischen den beiden Shell-Varianten identisch ist, und die
Verhalten und Unterschiede können sich zwischen den Versionen ändern; siehe die beiliegende Handbuchseite
mksch(1) für die Versionen, auf die sich dieses Dokument bezieht.
· lksch verwendet POSIX-Arithmetik, was einige Auswirkungen hat: Der Datentyp für
Arithmetik ist der Host ISO C lange Datentyp. Der vorzeichenbehaftete Integer-Wrapper ist nicht definiert
Verhalten; Dies bedeutet, dass...
$ echo $((2147483647 + 1))
... darf z. B. alle Dateien auf Ihrem System löschen (die Zahl weicht ab).
Bei Nicht-32-Bit-Systemen ist dies in der Regel nicht der Fall). Das Vorzeichen des Ergebnisses einer Modulo-Operation
mit mindestens einem negativen Operanden ist nicht spezifiziert. Schiebeoperationen für negative Zahlen
sind nicht spezifiziert. Die Division der größten negativen Zahl durch -1 ist undefiniertes Verhalten.
Bei undefiniertem Verhalten ist es dem Compiler gestattet, alle Daten zu löschen und das System zum Absturz zu bringen
auftritt (Beispiel siehe oben).
· lksch bietet Skripten nur die herkömmlichen zehn Dateideskriptoren an.
· Die arithmetischen Rotationsoperatoren sind nicht verfügbar.
· Die arithmetischen Schiebeoperatoren berücksichtigen alle Bits des zweiten Operanden; wenn sie
Wenn die zulässige Genauigkeit überschritten wird, ist das Ergebnis nicht spezifiziert.
· Die GNU bash Die Erweiterung &> zum Umleiten von stdout und stderr auf einmal wird nicht analysiert.
· Das mksch Befehlszeilenoption -T ist nicht verfügbar.
· Es sei denn kompensieren -o POSIX ist aktiv, lksch Verwendet immer den traditionellen Modus für Konstrukte wie:
$ set -- $(getopt ab:c "$@")
$ Echo $?
POSIX schreibt vor, dass dies 0 anzeigt, aber der traditionelle Modus durchläuft den Fehlerpegel von
getopt(1) Befehl.
· Im Gegensatz zu AT&T UNIX ksh, mksch in -o POSIX or -o sh Modus und lksch Datei nicht aufbewahren
Deskriptoren > 2 privat aus Unterprozessen.
· Mit dem . definierte Funktionen Funktion reserviertes Wort teilen die Shell-Optionen (kompensieren -o)
anstatt sie lokal festzulegen.
Nutzen Sie lksh online über die Dienste von onworks.net