Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ jsh(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sh(1)

jsh(1)                                                               jsh(1)

NAME
     jsh - Bourne-Shell mit Auftragssteuerung (job control)

SYNTAX
     jsh  [option ...] [argument ...]

BESCHREIBUNG
     jsh ist eine Bourne-Shell (sh) mit Auftragssteuerung (job control).
     Mit der Auftragssteuerung können Sie zusätzlich zur normalen Funktio-
     nalität der Bourne-Shell:

     -  Aufträge stoppen,

     -  Aufträge in den Hintergrund schicken,

     -  Aufträge aus dem Hintergrund in den Vordergrund holen und

     -  über Auftragsnummern einfacher auf Aufträge zugreifen.

     Die Auftragssteuerung werden Sie im Regelfall nur bei einer Shell aus-
     nutzen, mit der Sie interaktiv arbeiten, also einer Login-Shell oder
     einer Subshell. Eine Shell, die Shell-Prozeduren ausführt, kann diese
     Erweiterung nicht ausnutzen.

     Die Auftragsteuerung ist realisiert durch

     -  die Einführung von Aufträgen (jobs) mit verschiedenen Zuständen,

     -  neue eingebaute Shell-Kommandos,

     -  die Erweiterung bestehender eingebauter Shell-Kommandos.

     Die Beschreibung von option und argument finden Sie bei der Beschrei-
     bung der Bourne-Shell sh(1): In diesem Bereich gibt es keine Unter-
     schiede zwischen den beiden Shells.

ARBEITSWEISE
     Für jsh ist jedes Kommando oder jede Pipeline, die von Ihnen am Termi-
     nal eingegeben wurde, ein Auftrag. Jeder existierende Auftrag nimmt
     einen der drei möglichen Zustände ein:

     Vordergrund
          Dieser Auftrag hat Lese- und Schreibzugriff auf das kontrollie-
          rende Terminal.

     Hintergrund
          Diesem Auftrag wurde der Lesezugriff auf das kontrollierende Ter-
          minal entzogen, er besitzt aber möglicherweise Schreibzugriff
          [siehe stty(1)].






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

jsh(1)                                                               jsh(1)

     gestoppt
          Dieser Auftrag wurde angehalten - normalerweise durch das Signal
          SIGTSTP [siehe signal(5)].

     Jedem gestarteten Auftrag weist jsh eine positive ganze Zahl zu, die
     sogenannte Auftragsnummer. Diese Nummer wird von jsh als Bezeichner
     zur Identifizierung eines Auftrags weiter verfolgt. Zusätzlich kennt
     die Shell noch den aktuellen und den vorherigen Auftrag. Der aktuelle
     Auftrag ist der zuletzt aufgerufene oder wieder aufgerufene Auftrag.
     Der vorherige Auftrag ist der erste nicht-aktuelle Auftrag.

     Die Syntax eines Auftragsbezeichners sieht wie folgt aus:

     %auftragsbezeichner

     auftragsbezeichner kann sein:

     % oder +
          der aktuelle Auftrag

     -    der vorherige Auftrag

     ?zeichenkette
          der Auftrag, der in der Kommandozeile eindeutig zeichenkette ent-
          hält

     nummer
          der Auftrag mit der Auftragsnummer nummer

     präfix
          der Auftrag, dessen Kommando mit der Zeichenkette präfix beginnt.
          präfix darf entwertete Leerzeichen enthalten.

          Beispiel: Das Hintergrund-Kommando ls -l ... können Sie mit %ls
          ansprechen.

     Einen Auftrag können Sie durch Drücken der Tastenkombination CTRL-Z
     anhalten. Diese sorgt dafür, daß ein STOP-Signal an den Auftrag
     geschickt wird. jsh zeigt dann an, daß der Auftrag gestoppt wurde und
     gibt ein Bereitzeichen aus. Die Tastenkombination CTRL-Z bewirkt eine
     sofortige Reaktion (vergleichbar der Unterbrechungstaste DEL).

     Vorsicht:
          Verwenden Sie jsh zusammen mit shl, dann müssen Sie das switch-
          Zeichen [siehe stty(1)] neu definieren, damit das suspend-Zeichen
          nicht deaktiviert wird.








Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

jsh(1)                                                               jsh(1)

KOMMANDOS
     Die folgenden eingebauten Shell-Kommandos können Sie nach dem Bereit-
     zeichen PS1 (Standard: $ ) eingeben:

     bg [%auftragsbezeichner ...]
          Die Ausführung eines gestoppten Auftrags wird im Hintergrund
          fortgesetzt. Der oder die gestoppten Aufträge werden durch
          auftragsbezeichner angegeben. Bei fehlendem auftragsbezeichner
          wird der aktuelle Auftrag fortgesetzt.

     fg [%auftragsbezeichner ...]
          Es wird entweder die Ausführung eines gestoppten Auftrags im Vor-
          dergrund fortgesetzt oder ein Auftrag, der im Hintergrund ausge-
          führt wird, in den Vordergrund geholt. Der oder die Aufträge wer-
          den durch auftragsbezeichner angegeben. Ist auftragsbezeichner
          nicht angegeben, so wird der aktuelle Auftrag verwendet.

     jobs [-l|-p] [%auftragsbezeichner ...]                        Format 1
     jobs -x kommando [argument ...]                               Format 2

          Format 1: Information über Aufträge ausgeben

          Information über Aufträge, die im Hintergrund ausgeführt werden
          oder gestoppt sind, wird auf die Standardausgabe geschrieben.
          Fehlt auftragsbezeichner, dann wird die Information über alle
          Aufträge auf die Standardausgabe geschrieben.

          Die folgenden Optionen verändern die Ausgabe von jobs:

          -l   Die Prozeßgruppennummer und das aktuelle Verzeichnis der
               Aufträge werden auf die Standardausgabe geschrieben.

          -p   Nur die Prozeßgruppennummer der Aufträge wird auf die Stan-
               dardausgabe geschrieben.

          Format 2: Kommando auf Aufträge ausführen

          Dieses Kommando ersetzt jeden Auftragsbezeichner, der in kommando
          und argument gefunden wird, durch die entsprechende Prozeßgrup-
          pennummer und führt dann das so erhaltene Kommando mit den Argu-
          menten aus.

     kill [signal] %auftragsbezeichner
          Dies ist die in die Shell sh eingebaute Version des kill-Komman-
          dos. Sie bietet, im einzigen Unterschied zum Kommando kill, die
          Möglichkeit der Angabe der Prozeßnummer durch einen
          auftragsbezeichner.

     stop %auftragsbezeichner ...
          Die Ausführung des Hintergrundauftrags auftragsbezeichner wird
          gestoppt.



Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

jsh(1)                                                               jsh(1)

     suspend
          Die Ausführung der aktuellen jsh wird gestoppt. Dies trifft
          jedoch nicht zu, wenn sie eine Login-Shell ist.

     wait [%auftragsbezeichner ...]
          Diese Version des eingebauten Shell-Kommandos wait versteht
          auftragsbezeichner als Argument. Bei fehlendem auftragsbezeichner
          verhält sich wait wie die in sh eingebaute Version, sonst wird
          auf die Beendigung des oder der Hintergrundaufträge gewartet.

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte.

     In Mustern zur Dateinamensgenerierung bestimmt die Umgebungsvariable
     LCCOLLATE die Bedeutung von Zeichenbereichen, Äquivalenzklassen und
     Zeicheneinheiten, die Umgebungsvariable LCCTYPE die Bedeutung von
     Zeichenklassen. LCCTYPE bestimmt zusätzlich, welche Zeichen des aktu-
     ell gültigen Zeichensatzes als Buchstaben definiert sind.

     Wenn LCMESSAGES, LCCOLLATE oder LCCTYPE nicht oder als leere Zei-
     chenkette definiert ist, wird der Wert von LANG als Standardwert für
     die jeweils nicht gesetzte oder leere Variable herangezogen. Ist auch
     LANG nicht oder als leere Zeichenkette definiert, verhält sich das
     System so, als wäre es nicht internationalisiert.

     Hat eine der Variablen für die internationale Umgebung einen ungülti-
     gen Wert, verhält sich das System so, als wäre keine Variable gesetzt.

BEISPIELE
     Im folgenden finden Sie ein kurzes Beispiel für den Umgang mit Aufträ-
     gen in der Shell jsh.

     Sie rufen die Shell auf mit der Eingabe von:

     $ jsh

     Ändern Sie zur besseren Orientierung den Prompt:

     $ PS1="jsh> "

     Sie Suchen nach einer Datei namens test. Starten Sie dazu das Kommando
     find im Hintergrund:

     jsh> find / -name test -print &

     Die Shell gibt als Ergebnis die Jobnummer 1 und die Prozeßnummer 28071
     aus:

     [1] 28071




Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

jsh(1)                                                               jsh(1)

     Sie lassen sich eine Liste mit allen aktuellen Aufträgen ausgeben:

     jsh> jobs
     [1] + Running                     find / -name test -print

     Sie beenden Auftrag Nummer 1 (find-Kommando):

     jsh> stop %1

     Sie lassen sich eine Liste mit allen aktuellen Aufträgen ausgeben:

     jsh> jobs
     [1] + Stopped (signal)            find / -name test -print

     Sie lassen den aktuellen Auftrag (find-Kommando) im Hintergrund wei-
     terlaufen:

     jsh> bg %%

     Die Shell gibt das reaktivierte Kommando aus:

     [1] find / -name test -print &

     Sie brechen den Auftrag find ab:

     jsh> kill %find

     Sie lassen sich eine Liste aller aktuellen Aufträge ausgeben.

     jsh> jobs
     [1] + Terminated                  find / -name test -print

     Sie verlassen die jsh-Shell wieder mit

     jsh> exit

     und erhalten darauf das Bereitzeichen der Bourne-Shell:

     $

SIEHE AUCH
     sh(1).












Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026