Beschreibungen der C-Shellbefehle
In der C-Shell sind die folgenden integrierten Befehle verfügbar.
| Element | Beschreibung |
|---|---|
| alias [Name [WordList]] | Zeigt alle Aliasnamen an, wenn keine Parameter angegeben werden. Andernfalls wird der Aliasname für den angegebenen Namen angezeigt. Wird die Variable Wortliste angegeben, ordnet der Befehl den Wert der Wortliste dem Aliasnamen zu. Der angegebene Name (Aliasname) darf weder alias noch unalias sein. |
| bg [%Job ...] | Stellt den aktuellen Job bzw. den mit Job angegebenen Job in den Hintergrund und setzt die Ausführung des Jobs fort, wenn dieser gestoppt war. |
| break | Nimmt die Ausführung nach der Anweisung end der nächsten Schleife
foreach oder while wieder auf. |
| breaksw | Unterbricht beim Befehl switch und nimmt die Ausführung nach dem Befehl endsw wieder auf. |
| case Kennsatz : | Definiert einen Kennsatz in einem Befehl switch. |
| cd[Name] | Äquivalent zum Befehl chdir (siehe folgende Beschreibung). |
| chdir [Name] | Wechselt vom aktuellen Verzeichnis in das in der
Variablen
Name angegebene Verzeichnis. Wird kein
Name
angegeben, wird mit dem Befehl in das Ausgangsverzeichnis
gewechselt. Wenn der Wert der Variablen Name kein
Unterverzeichnis des aktuellen Verzeichnisses ist und nicht mit /, ./ oder
../ beginnt, durchsucht die Shell jede Komponente der Shellvariablen cdpath
nach einem Unterverzeichnis, das der Variablen Name entspricht. Falls
die Variable Name eine Shellvariable mit einem Wert ist, der mit einem Schrägstrich
(/) beginnt, prüft die Shell, ob es sich um ein Verzeichnis handelt. Der Befehl chdir entspricht dem Befehl cd. |
| continue | Setzt die Ausführung nach der Anweisung end der nächsten
Schleife while oder foreach fort. |
| default: | Kennzeichnet den Standardfall (default)
in einer Anweisung switch. Der Standardwert default sollte
nach allen anderen Kennsätzen case angegeben werden. |
| dirs | Zeigt den Verzeichnisstapel an. |
| echo | Schreibt Zeichenfolgen in die Standardausgabe der Shell. |
| else | Führt die Befehle aus, die auf die zweite else in einem if (Ausdruck) then folgen.else
if (Expression2) then ... else ... endif -Befehlsfolge. Anmerkung: Die Anweisung Sonst ist der integrierte Befehl CSH bei Verwendung von Wenn (Ausdruck) Dann ..Sonst ...Endif. Wenn der (Ausdruck) wahr ist, werden
die Befehle bis zur Anweisung else ausgeführt. Ist der (Ausdruck) falsch,
werden die Befehle zwischen den Anweisungen else und endif ausgeführt. Angaben, die in einzelne Anführungszeichen eingeschlossen sind, werden buchstabengetreu verwendet und nicht interpretiert.
|
| end | Setzt nacheinander die Variable Name auf jeden in der
Variablen Liste angegebenen Eintrag und führt die
Befehlsfolge zwischen der Anweisung
foreach und der zugehörigen Anweisung end aus. Die Anweisungen
foreach und end müssen in separaten Zeilen stehen. Verwendet die Anweisung
|
| endif | Wenn die Variable Ausdruck wahr ist, werden die
Befehle ausgeführt, die der ersten Anweisung then
folgen. Ist else if Ausdruck2 wahr, werden die
Befehle ausgeführt, die der zweiten Anweisung then
folgen. Wenn der else
if Expression2 ' false' ist, werden die -Befehle ausgeführt, die auf elsefolgen. Es kann eine beliebige Anzahl von else if-Paaren angegeben werden. Es ist nur eine Anweisung endif erforderlich. Das Segment else ist optional. Die
Wörter else und endif können nur am Anfang von Eingabezeilen
verwendet werden. Das Segment if muss allein in einer Eingabezeile oder
hinter einem Befehl else stehen. |
| endsw | Vergleicht nacheinander alle case-Fälle
mit dem Wert der Variablen Zeichenfolge. Die Zeichenfolge
wird zuerst mit dem Befehl und Dateinamen erweitert. Verwenden Sie die Mustererkennungszeichen *, ?und [ . . . ] in den case -Beschriftungen, die variabel erweitert sind. Wird für keinen der Fälle eine Übereinstimmung gefunden, bevor
ein Standardfall (default) gefunden wird, beginnt die Ausführung nach
dem Standardfall. case und
default müssen am Anfang der Zeile stehen. Der Befehl breaksw veranlasst die Fortsetzung der Befehlsausführung nach dem Befehl
endsw. Andernfalls werden die nachfolgenden Fälle (case und default) wie in der Programmiersprache C nacheinander
abgearbeitet. Falls keine Fallübereinstimmung gefunden wird
und kein Standardfall (default) angegeben ist, wird die Ausführung nach dem
Befehl endsw fortgesetzt. |
| eval Parameter .. | Liest den Wert der Variablen Parameter als Eingabe für die Shell und führt den bzw. die entsprechenden Befehle im Kontext der aktuellen Shell aus. Mit diesem Befehl werden Befehle ausgeführt, die aufgrund einer Befehls- oder Variablensubstitution generiert wurden, da die Syntaxanalyse vor den Substitutionen erfolgt. |
| exec Befehl | Führt anstelle der Shell den angegebenen Befehl aus. |
| exit (Ausdruck) | Beendet die Shell entweder mit dem Wert der Shellvariablen status (falls kein Ausdruck angegeben wurde) oder mit dem Wert des angegebenen Ausdrucks. |
| fg [%Job ...] | Stellt den aktuellen Job bzw. den für Job angegebenen Job in den Vordergrund und setzt die Ausführung des Jobs fort, wenn dieser gestoppt war. |
| foreach Name (Liste) Befehl. | Legt nacheinander eine Variable Name für jedes durch die Variable Liste angegebene Member und eine Befehlsfolge fest, bis ein end -Befehl erreicht wird. |
| glob Liste | Zeigt die Liste unter Verwendung von Protokoll, Variablen und Dateinamenerweiterung an. Setzt ein Nullzeichen zwischen Wörter und enthält am Ende keinen Wagenrücklauf. |
| goto Wort | Setzt die Ausführung nach der in der Variablen Wort angegebenen Zeile fort. Das angegebene Wort ist ein Dateiname und ein Befehl, die erweitert wurden, um eine Zeichenfolge in dem Format zu bilden, das in der Variablen Kennsatz: angegeben wurde. Die Shell rekonstruiert die Eingabe so weit wie möglich und sucht nach einer Zeile im Format Kennsatz :, dem Leerzeichen oder Tabulatorzeichen vorangestellt sind. |
| hashstat | Zeigt Statistiken an, die angeben, mit welchem Erfolg Befehle über die Hash-Tabelle gefunden wurden. |
| history [-r | -h][n] | Zeigt die Protokollereignisliste an. Die ältesten Ereignisse werden zuerst angezeigt. Wird eine Anzahl n angegeben, wird nur die angegebene Anzahl der jüngsten Ereignisse angezeigt. Mit dem Flag -r wird die Reihenfolge, in der die Ereignisse angezeigt werden, umgekehrt, so dass die jüngsten Ereignisse zuerst angezeigt werden. Mit dem Flag -h wird die Protokollliste ohne führende Nummern angezeigt. Dieses Flag ist zu verwenden, um Dateien zu erzeugen, die für die Verwendung mit dem Flag -h des Befehls source geeignet sind. |
| if (Ausdruck) Befehl | Führt den angegebenen Befehl (einschließlich
seiner Argumente) aus, wenn der angegebene Ausdruck wahr ist. Die
Variablensubstitution für die Variable Befehl findet zu
einem früheren Zeitpunkt statt, d. h., zur gleichen Zeit wie für
den Rest der Anweisung if. Bei dem angegebenen Befehl
muss es sich um einen einfachen Befehl handeln (und nicht um eine
Befehlskette, Befehlsliste oder eine Klammerbefehlsliste). Anmerkung: Die Eingabe-und Ausgabeumleitung findet auch dann statt, wenn die Variable Ausdruck auf ' false' gesetzt ist und Befehl nicht ausgeführt wird.
|
| jobs [-l] | Listet die aktiven Jobs auf. Wenn Sie das Flag -l (Kleinbuchstabe L) mit dem Befehl jobs angeben, werden zusätzlich zu der Jobnummer und dem Jobnamen die Prozess-IDs angezeigt. |
| kill -l | [ [-Signal]% Job... |PID...] | Sendet entweder das Abbruchsignal TERM oder das in der Variablen Signal angegebene Signal an den angegebenen Job oder die angegebene PID (Prozess-ID). Signale werden entweder mit der Nummer oder mit dem Namen angegeben (wie in der Datei /usr/include/sys/signal.h definiert, nur ohne das Präfix SIG). Wenn Sie das Flag -l (Kleinbuchstabe L) angeben, werden die Signalnamen aufgelistet. |
| limit [-h] [Ressource [Max-Verwendung]] | Begrenzt die Verwendung der angegebenen Ressource durch den
aktuellen Prozess und jeden von diesem erstellten Prozess. Prozessressourcengrenzwerte werden in der Datei /etc/security/limits definiert. Steuerbare Ressourcen sind CPU-Zeit, Dateigröße,
Datengröße, Kernspeicherauszugsgröße und Speicherbelegung. Die maximal zulässigen Werte für diese Ressourcen werden mit dem Befehl mkuser festgelegt, wenn der Benutzer dem System hinzugefügt wird. Mit dem Befehl chuser können sie geändert werden. Grenzwerte werden als veränderlich oder fest kategorisiert. Der Benutzer kann die veränderlichen Grenzwerte bis auf den durch die festen Grenzwerte festgelegten Wert erhöhen. Um einen veränderlichen Grenzwert über den festen Grenzwert hinaus zu erhöhen oder um feste Grenzwerte zu verändern, muss die Rootberechtigung vorliegen. Mit dem Flag -h werden die festen Grenzwerte anstelle der veränderlichen Grenzwerte angezeigt. Ist der Parameter Max-Verwendung nicht angegeben, wird mit dem Befehl limit der aktuelle Grenzwert für die angegebene Ressource angezeigt. Ist der Parameter Ressource nicht angegeben, werden mit dem Befehl limit die aktuellen Grenzwerte für alle Ressourcen angezeigt. Weitere Informationen zu den vom Unterbefehl limit gesteuerten Ressourcen finden Sie in der Beschreibung der Subroutine getrlimit, setrlimitoder vlimit . Der Parameter Max-Verwendung für die
CPU-Zeit wird im Format
hh:mm:ss
angegeben. Der Parameter Max-Verwendung für andere
Ressourcen wird als Gleitkommazahl oder als ganze Zahl angegeben,
der wahlweise ein Maßstabsfaktor folgen kann. Der Maßstabsfaktor ist k oder Kilobyte (1024 Byte), m oder Megabyte oder b oder Blöcke (die von der Subroutine ulimit verwendeten Einheiten). Wenn Sie keinen Maßstabsfaktor angeben, wird k für alle Ressourcen angenommen. Sowohl
für
Ressourcennamen als auch Maßstabsfaktoren genügen eindeutige Präfixe
zu den Namen.Anmerkung: Dieser Befehl begrenzt den für einen Prozess verfügbaren physischen Speicher (Speicherbelegung) nur, wenn es Konkurrenzsituationen für den Systemspeicher durch andere aktive Prozesse gibt.
|
| login | Beendet eine Anmeldeshell und ersetzt sie durch eine Instanz des Befehls /usr/bin/login . Dies ist eine Möglichkeit der Abmeldung (aus Gründen der Kompatibilität mit den Befehlen ksh und bsh). |
| logout | Beendet eine Anmeldeshell. Dieser Befehl muss verwendet werden, wenn die Option ignoreeof festgelegt ist. |
| nice [+n] [Befehl] | Setzt die Priorität von Befehlen, die in dieser Shell
ausgeführt werden, auf 24, falls keine Werte angegeben wurden. Bei
Angabe des Flags +n wird die Priorität plus der
angegebenen Zahl gesetzt. Bei Angabe des Flags +n und eines
Befehls wird der Befehl mit der Priorität 24 plus der
angegebenen Zahl ausgeführt. Wenn Sie Rootberechtigung besitzen, können Sie
die Anweisung nice mit einer negativen Zahl angeben. Der Befehl wird immer in einer Subshell
ausgeführt, und es gelten die in einfachen if-Anweisungen
festgelegten Einschränkungen für Befehle. |
| nohup [Befehl] | Bewirkt, dass Hangups für den
Rest des Scripts ignoriert werden, wenn kein Befehl angegeben
ist. Wird ein Befehl angegeben, wird dieser Befehl
ausgeführt, wobei Hangups ignoriert werden. Um eine Befehlskette oder Befehlsliste auszuführen, die
Befehlskette bzw. Befehlsliste in ein Shell-Script stellen, dem Script
Ausführungsberechtigung erteilen und als Wert für die Variable
Befehl verwenden. Alle Prozesse, die im Hintergrund mit einem Et-Zeichen (&) ausgeführt werden, werden effektiv vor dem Senden eines hangup -Signals geschützt, wenn Sie sich abmelden. Die Prozesse sind
jedoch weiterhin von explizit gesendeten Hangup-Signalen
betroffen, sofern die Anweisung nohup nicht
verwendet wird. |
| notify [%Job...] | Weist die Shell an, den Benutzer asynchron zu benachrichtigen, wenn sich der Status des aktuellen oder angegebenen Jobs ändert. Normalerweise gibt die Shell Nachrichten kurz vor Ausgabe der Shellvingabeaufforderung aus. Diese Funktion wird automatisch ausgeführt, wenn die Shellvariable notify gesetzt ist. |
| onintr [- | Kennsatz] | Steuert die Aktion der Shell bei Unterbrechungen. Werden keine
Argumente angegeben, wird die Standardaktion der Shell bei
Unterbrechungen wiederhergestellt, die das
Shell-Script beendet oder zur Befehleingabeebene zurückkehrt. Bei
Angabe eines Flags
- werden alle Unterbrechungen
ignoriert. Bei Angabe von
Kennsatz wird die Shell angewiesen,
die Anweisung goto Kennsatz auszuführen, wenn
sie eine Unterbrechung empfängt oder wenn ein untergeordneter Prozess aufgrund einer Unterbrechung beendet wird. In jedem Fall
verlieren alle Formate der Anweisung onintr ihre
Bedeutung, wenn die Shell im Hintergrund ausgeführt wird und
Unterbrechungen ignoriert werden. Unterbrechungen werden von
der Shell und allen aufgerufenen Befehlen weiterhin ignoriert. |
| popd [+n] | Zeigt die Verzeichnisstapel an und wechselt zum neuen Hauptverzeichnis. Wenn Sie eine +n -Variable angeben, verwirft der Befehl den nth -Eintrag im Stapel. Die Elemente des Verzeichnisstapels sind von oben nach unten, beginnend mit 0, nummeriert. |
| pushd [+n|Name] | Werden keine Argumente angegeben, werden die zwei obersten Elemente des Verzeichnisstapels ausgetauscht. Wird die Variable Name angegeben, wechselt der Befehl in das neue Verzeichnis und stellt das alte aktuelle Verzeichnis (wie in der Shellvariablen cwd angegeben) in den Verzeichnisstapel. Wenn Sie eine +n -Variable angeben, dreht der Befehl die nth -Komponente des Verzeichnisstapels um das obere Element und ändert sich daran. Die Elemente des Verzeichnisstapels sind von oben nach unten, beginnend mit 0, nummeriert. |
| rehash | Bewirkt eine erneute Berechnung der internen Hash-Tabelle mit dem Inhalt der in der Shellvariablen path angegebenen Verzeichnisse. Diese Aktion ist erforderlich, wenn den Verzeichnissen in der Shellvariablen path neue Befehle hinzugefügt werden, während der Benutzer angemeldet ist. Der Befehl rehash ist nur dann erforderlich, wenn den benutzereigenen Verzeichnissen Befehle hinzugefügt werden oder wenn der Inhalt eines der Systemverzeichnisse geändert wurde. |
| repeat Befehl Count | Führt den angegebenen Befehl, der denselben
Einschränkungen wie Befehle in einfachen if-Anweisungen
unterliegt, so oft aus, wie im Parameter Anzahl angegeben ist. Anmerkung: E/A-Umleitungen erfolgen genau einmal, auch wenn die Variable Anzahl gleich 0 ist.
|
| set [[Name[n]] [ = Wort]] | [Name = (Liste)] | Zeigt die Werte aller Shellvariablen an, wenn keine Argumente angegeben werden. Variablen, deren Wert aus mehreren Wörtern besteht, werden als Wortliste in Klammern angezeigt. Wird nur Name angegeben, setzt die C-Shell die Variable Name auf die leere Zeichenfolge. Andernfalls wird Name auf den Wert der Variablen Word gesetzt, oder die Variable Name wird auf die durch die Variable List angegebene Liste von Wörtern gesetzt. Wenn n angegeben wird, wird die Komponente nth der Variablen Name auf den Wert der Variablen Word gesetzt. Die Komponente nth muss bereits vorhanden sein. In allen Fällen besteht der Wert aus erweiterten Befehlen und Dateinamen. Diese Argumente können wiederholt werden, um mehrere Werte in einem einzigen set -Befehl festzulegen. Die Variablenerweiterung für alle Argumente findet jedoch statt, bevor eine Einstellung erfolgt. |
| setenvName Wert | Setzt den Wert der in der Variablen Name angegebenen Umgebungsvariablen auf Wert, eine einzelne Zeichenfolge. Die am häufigsten verwendeten Umgebungsvariablen USER, TERM, HOME und PATH werden automatisch in bzw. aus den C-Shellvariablen user, term, home und path im- bzw. exportiert. Es ist nicht erforderlich, die Anweisung setenv für diese zu verwenden. |
| shift [Variable] | Verschiebt die Elemente der Shellvariablen argv oder der angegebenen Variablen nach links. Wenn die Shellvariable argv oder die angegebene Variable nicht gesetzt ist oder ihr Wert weniger als ein Wort enthält, tritt ein Fehler auf. |
| source[-h] Name | Liest Befehle, die in der Datei Name angegeben sind. Der Befehl source kann verschachtelt werden. Falls der Befehl jedoch zu tief verschachtelt wird, stehen der Shell möglicherweise nicht genügend Dateideskriptoren zur Verfügung. Tritt ein Fehler in einem Befehl source auf einer Ebene auf, werden alle verschachtelten Befehle source beendet. Normalerweise werden Eingaben während der Ausführung von source -Befehlen nicht in die Protokollliste aufgenommen. Mit dem Flag -h können die Befehle in die Protokollliste gestellt werden, ohne ausgeführt zu werden. |
| stop [%Job ...] | Stoppt den aktuellen Job oder den angegebenen Job, der im Hintergrund ausgeführt wird. |
| suspend | Stoppt die Shell so, als wäre ein STOP empfangen worden. |
| switch (zeichenfolge) | Startet eine switch (Zeichenfolge) case Zeichenfolge : ... breaksw default: ... breaksw endsw -Befehlsfolge. Diese Befehlsfolge gleicht nacheinander alle case-Fälle mit dem Wert der Variablen Zeichenfolge ab. Wenn keine Fallübereinstimmung gefunden wird, bevor ein Standardfall gefunden wird, beginnt die Ausführung nach dem Standardfall. |
| time [Befehl] | Mit dem Befehl time wird die automatische
Ablaufsteuerung von Befehlen gesteuert. Wird die Variable
Befehl nicht angegeben, zeigt der Befehl time die
Gesamtzeit an, die von der Shell und ihren untergeordneten Prozessen verwendet wurde. Wird über die Variable
Befehl ein
Befehl angegeben, ist er zeitverzögert. Die Shell zeigt dann eine Zeitzusammenfassung an, wie in der Shellvariablen time beschrieben. Falls erforderlich, wird
eine zusätzliche Shell erstellt, um
die Zeitstatistik nach Beendigung des Befehls anzuzeigen. Im folgenden Beispiel wird time mit dem Befehl sleep verwendet:
Die Ausgabe des Befehls ist ähnlich der folgenden:
Die folgenden Ausgabefelder sind vorhanden:
|
| umask [Wert] | Legt Dateiberechtigungen fest. Beim Erstellen einer Datei werden mit diesem Wert zusammen mit den Berechtigungen des Erstellungsprozesses die Berechtigungen der Datei festgelegt. Der Standardwert ist 022. Wird kein Wert angegeben, wird die aktuelle Einstellung angezeigt. |
| unalias *|Muster | Löscht alle Aliasnamen, die mit der Variablen Muster übereinstimmen. Alle Aliasnamen werden mit dem Befehl unalias * entfernt. Sind keine Aliasnamen vorhanden, führt dies nicht zu einem Fehler. |
| unhash | Inaktiviert die Verwendung der internen Hash-Tabelle, um aktive Programm zu suchen. |
| unlimit [-h][Ressource] | Löscht die Grenzwerte für die Variable
Ressource. Ist die Variable Ressource nicht
angegeben, werden die Grenzwerte aller Ressourcen gelöscht. In der Beschreibung des Befehls limit ist eine Liste der Namen
der Ressourcen enthalten. Mit dem Flag -h werden die entsprechenden festen Grenzwerte gelöscht. Nur Benutzer mit Rootberechtigung können feste Grenzwerte ändern. |
| unset *|Muster | Löscht alle Variablen, deren Name mit der Variablen Muster übereinstimmen. Mit dem Befehl unset * werden alle Variablen gelöscht. Sind keine Variablen gesetzt, tritt kein Fehler auf. |
| unsetenvMuster | Löscht alle Variablen aus der Umgebung, deren Namen mit dem angegebenen Muster übereinstimmen. (Weitere Informationen sind im Abschnitt zum integrierten Befehl setenv enthalten.) |
| wait | Wartet auf alle Hintergrundjobs. Ist die Shell interaktiv, wird der Wartestatus durch eine Unterbrechung (INTERRUPT), normalerweise die Tastenkombination Strg-C, unterbrochen. Die Shell zeigt daraufhin die Namen und Jobnummern aller ausstehenden Jobs an. |
| while (Ausdruck) Befehl. . . end | Wertet die Befehle zwischen der Anweisung while und der zugehörigen Anweisung end aus, solange der mit der Variablen Ausdruck angegebene Ausdruck ungleich null ist. Mit der Anweisung break wird die Schleife vorzeitig beendet und mit der Anweisung continue fortgesetzt. Die Anweisungen while und end müssen jeweils allein in der jeweiligen Eingabezeile stehen. Erfolgt die Eingabe an einem Terminal, werden nach while (Ausdruck) Eingabeaufforderungen wie bei der Anweisung foreach angezeigt. |
| @ [Name[n] = Ausdruck | Zeigt die Werte aller Shellvariablen an, wenn keine
Argumente angegeben werden. Andernfalls wird der in der
Variablen Name angegebene Name auf den Wert der
Variablen Ausdruck gesetzt. Falls der Ausdruck das Zeichen
<, >, & oder
| enthält, muss dieser Teil des Ausdrucks in runde Klammern gesetzt werden. Wenn n angegeben wird, wird die nth Komponente der Variablen Name auf die Variable Expression gesetzt. Sowohl die Name -Variable als auch die nth -Komponente müssen bereits vorhanden sein.Operatoren der Programmiersprache C wie
|