Freigeben über


Was ist eine Befehlsshell?

Eine Befehlsshell ist eine textbasierte Schnittstelle für die Interaktion mit einem Computer, auch als Read-Eval-Print Loop (REPLbezeichnet).

Eine Shell verwendet Eingaben von der Tastatur, wertet diese Eingabe aus und führt die Eingabe als Shellbefehl aus oder gibt dem Betriebssystem die Eingabe, die ausgeführt werden soll. Die meisten Shells können Befehle auch aus einer Skriptdatei lesen und programmierfeatures wie Variablen, Flusssteuerung und Funktionen enthalten.

Terminals

Ein Terminal ist eine Anwendung, die eine textbasierte Schnittstelle zum Hosten von Befehlsshells bereitstellt. Einige Terminals sind für die Arbeit mit einer bestimmten Shell konzipiert, während andere mehrere Shells hosten können. Sie können auch erweiterte Features enthalten, z. B.:

  • Möglichkeit zum Erstellen mehrerer Bereiche in einem einzelnen Fenster
  • Möglichkeit zum Erstellen mehrerer Registerkarten zum Hosten mehrerer Shells
  • Möglichkeit zum Ändern von Farbschemas und Schriftarten
  • Unterstützung für Kopier- und Einfügevorgänge

Die folgende Liste enthält einige Beispiele für Terminalanwendungen:

  • Windows Terminal – eine moderne Terminalanwendung für Windows, die mehrere Shells hosten kann.
  • Windows Console Host – die Standardhostanwendung unter Windows für textbasierte Anwendungen. Sie kann auch die Windows-Befehlsshell oder PowerShell hosten.
  • Terminal für macOS – die Standard-Terminalanwendung unter macOS, die die Bash- oder Zsh-Shell hosten kann.
  • iTerm2 für macOS – eine beliebte Drittanbieter-Terminalanwendung für macOS.
  • Azure Cloud Shell – eine browserbasierte Terminalanwendung, die in Microsoft Azure gehostet wird. Azure Cloud Shell bietet Ihnen die Wahl zwischen bash oder PowerShell und ist mit vielen Befehlszeilentools zum Verwalten von Azure-Ressourcen vorkonfiguriert.

Allgemeine Befehlsshells

Allgemeine Befehlsshells sind für die Arbeit mit dem Betriebssystem konzipiert. Mit dieser Shell können Sie alle befehle ausführen, die vom Betriebssystem unterstützt werden. Sie umfassen auch shellspezifische Befehle und Programmierfeatures. Die folgende Liste enthält einige Beispiele für allgemeine Befehlsshells:

Hilfsbefehlsshells

Hilfsbefehlsshells sind für die Arbeit mit bestimmten Anwendungen oder Diensten konzipiert. Diese Shells können nur Befehle ausführen, die für die Anwendung oder den Dienst spezifisch sind. Einige Hilfsshells unterstützen das Ausführen von Befehlen aus einer Skriptdatei, enthalten jedoch keine Programmierfeatures. In der Regel können diese Shells nur interaktiv verwendet werden.

  • AI Shell – Eine interaktive Shell, die für die Kommunikation mit KI-Diensten wie Azure OpenAI verwendet wird.
  • netsh - Netzwerkshell (netsh) ist ein Befehlszeilenprogramm, mit dem Sie den Status verschiedener Netzwerkkomponenten unter Windows konfigurieren und anzeigen können. Es handelt sich sowohl um ein Befehlszeilentool als auch um eine Befehlsshell. Es unterstützt auch das Ausführen von Befehlen aus einer Skriptdatei.

Befehlszeilentools

Ein Befehlszeilentool ist ein eigenständiges Programm, das über eine Befehlsshell ausgeführt wird. Befehlszeilentools sind in der Regel so konzipiert, dass sie eine bestimmte Aufgabe ausführen, z. B. Dateien verwalten, Einstellungen konfigurieren oder Informationen abfragen. Befehlszeilentools können in jeder Shell verwendet werden, die das Ausführen externer Programme unterstützt.

  • Azure CLI – eine Sammlung von Befehlszeilentools zum Verwalten von Azure-Ressourcen, die in jeder unterstützten Shell ausgeführt werden können.
  • Azure PowerShell- – eine Sammlung von PowerShell-Modulen zum Verwalten von Azure-Ressourcen, die in jeder unterstützten Version von PowerShell ausgeführt werden können.
  • OpenSSH für Windows – ein Befehlszeilenclient sowie ein Server für die sichere Kommunikation über ein Netzwerk.
  • Windows-Befehle – eine Sammlung von Befehlszeilentools, die in Windows integriert sind.

Im Allgemeinen stellen Befehlszeilentools keine REPL-Schnittstelle (Command Shell) bereit. Der befehl netsh in Windows ist eine Ausnahme, da es sich sowohl um ein Befehlszeilentool als auch um eine interaktive Befehlsshell handelt.