Befehl "syscall"

Zweck

Führt einen angegebenen Subroutinenaufruf aus.

Syntax

syscall ( -n ) Name [ Argument1 ... ArgumentN ] [ ; Name [ Argument1 ... ArgumentN ] ] ...

Beschreibung

Der Befehl syscall führt ein Schnittstellenprogramm für Systemaufrufe aus, das den mit dem Parameter Name angegebenen Subroutinenaufruf ausführt. Wenn Sie das Flag -n angeben, führt der Befehl syscall den Aufruf n Mal aus. Die mit dem Parameter Argument angegebenen Argumente werden ohne Fehlerprüfung an die Subroutine übergeben. Der Parameter Argument kann in den folgenden Formaten ausgedrückt werden:

Element Beschreibung
0x nnn Hexadezimalkonstante nnn.
0 nnn Oktalkonstante nnn.
nnn Dezimalkonstante nnn.
+nnn Dezimalkonstante nnn.
- nnn Dezimalkonstante nnn.
"Zeichenfolge Die Zeichenfolge "Zeichenfolge".
'Zeichenfolge Die Zeichenfolge "Zeichenfolge".
\Zeichenfolge Die Zeichenfolge "Zeichenfolge".
#zeichenfolge Die Länge der Zeichenfolge "Zeichenfolge".
& &n Die Adresse des n'ten Arguments für diese Subroutine. (n=0 ist der Subroutinenname.)
&n Die Adresse des n'ten Byte in einem internen 10-KB-Puffer.
$n Das Ergebnis der n'ten Subroutine. (n=0 ist die erste Subroutine.)
string Alles andere ist eine Literalzeichenfolge.

Der Befehl syscall gibt eine Nachricht aus und wird für unbekannte Subroutinen und Subroutinen, die den Wert -1 zurückgeben, beendet.

Hinweis: Der Befehl syscall versteht die Subroutine sleep als Subroutine für Sonderfälle.

Flags

Element Beschreibung
-N Gibt an, wie oft der Befehl syscall die angegebene Subroutine ausführt.
; Trennt mehrere Subroutinen (maximal 20), die in demselben Aufruf des Befehls syscall ausgeführt werden.

Beispiele

Zum Simulieren des C-Programmfragments

output=open("x", 401, 0755);
write(output, "hello", strlen("hello"));

Geben Sie Folgendes ein:

syscall open x 401 0755 \; write \$0 hello \#hello

Hinweis: Sonderzeichen in der Shell müssen mit Escapezeichen versehen werden.

Dateien

Element Beschreibung
/usr/bin/syscall Enthält den Befehl syscall.