Connect with us

Wie man

So ändern Sie Ihre Standard-Shell unter Linux mit chsh

So verwenden Sie Curl zum Herunterladen von Dateien über die Linux-Befehlszeile

Fatmawati Achmad Zaenuri / Shutterstock

Bash ist nicht die einzige Linux-Shell. Es ist einfach, andere Muscheln wie Zsh auszuprobieren, was sehr beliebt ist. Wenn Sie eine gefunden haben, die Ihnen gefällt, verwenden Sie die chsh Befehl, um es zu Ihrer Standard-Shell zu machen. Wir zeigen Ihnen wie.

Warum eine Shell wichtig ist

die Muschel sitzt zwischen Ihnen und dem Betriebssystem. Es bietet die Umgebung in einem Terminalfenster, in dem Sie Befehle eingeben und Programme ausführen können. Die Shell überprüft Ihre Eingabe und findet heraus, was Sie wollen. Wenn es Ihr Gebot selbst ausführen kann, tut es dies. Wenn es Hilfe von außen benötigt, durchsucht es den Pfad und findet die Programme, die alles tun können, was Sie angefordert haben.

Unter Linux sind viele verschiedene Shells verfügbar. Mit allen können Sie dieselben Kernaufgaben ausführen: das Dateisystem erkunden, mit Dateien arbeiten, Programme starten und Skripte ausführen. Sie führen diese Aufgaben jedoch jeweils auf ihre eigene Weise aus und haben ihre eigenen Besonderheiten und Besonderheiten.

Muscheln werden in der Regel von Menschen entworfen, die möchten, dass sich die Dinge auf eine bestimmte Art und Weise verhalten. Wenn Ihr Denken mit dem dieses Designers übereinstimmt, passt diese Shell möglicherweise gut zu Ihnen. Außerdem ist es einfach, eine neue Shell unter Linux auszuprobieren.

In den meisten Linux-Distributionen, einschließlich Ubuntu, Die Standard-Shell ist bash. Es macht einen tollen Job und ist sehr fähig. Eine andere Shell bietet jedoch möglicherweise einen zeitsparenden Unterschied, der sich stark auf Ihren Workflow auswirkt. Sie werden es nie erfahren, wenn Sie nicht hinsehen!

Ein Eimer voller Muscheln

Wir haben die verschiedenen Linux-Shells bereits behandelt, aber hier ist eine kurze Einführung in die gängigsten:

  • Bash: Das Bourne wieder ist Shell der Standard in vielen Distributionen.
  • rbash: Dies Beschränkt bash Die Shell bietet der darin ausgeführten Person oder dem Skript nur minimale Funktionen.
  • Asche: Das Almquist Muschel ist eine leichtere Version von Bash.
  • Strich: Die Debian Alquist Shell ist die Standard-Shell-Skript in Ubuntu. Während bash ist das Standard-Login und die interaktive Shell. dash wird verwendet, um Systemprozesse auszuführen, da es viel leichter als ist bash.
  • zsh: Die Z-Schale ist eine moderne Version des bash Muschelfamilie. Es bietet nette Verbesserungen wie Rechtschreibprüfungen für Befehle und Änderungsvorschläge.
  • Fisch: Dies freundliche interaktive Shell wurde von Grund auf neu geschrieben und stammt nicht aus einer der anderen Shell-Familien. Es soll benutzerfreundlich sein. Neben seinen vielen anderen Vorteilen bietet fish Vorschläge für Befehle, die auf Ihrem Verlauf und dem Inhalt des aktuellen Ordners basieren, ähnlich wie prädiktiver Text.
  • ksh: Die KornShell bietet eine besonders starke Skriptsprache.

Listen Sie die installierten Shells auf

Verwenden Sie diesen Befehl, um zu sehen, welche Shells auf Ihrem Computer installiert sind. Es listet einfach den Inhalt der /etc/shells Datei:

cat /etc/shells

Wir haben erwähnt bash, dash, und rbash, aber was ist sh?

sh ist der Thompson Shell, geschrieben im Jahr 1971 von Ken Thompson von Bell Labs Ruhm. Es wird nicht mehr gewartet und wurde längst von modernen Muscheln abgelöst. Es dient lediglich der Aufrechterhaltung der Kompatibilität mit älteren Skripten, deren erste Zeile noch Folgendes enthält:

#!/bin/sh

Dies weist das System an, das zu verwenden sh Shell, um das Skript auszuführen. Haben Sie wirklich diese alte Shell auf Ihrem Computer und wird sie zum Ausführen Ihrer Skripte verwendet? Das which Der Befehl teilt uns mit, welches Programm tatsächlich ausgeführt wird, wenn Sie einen Befehl eingeben.

Mal sehen, was beim Tippen läuft sh::

which sh

Dies scheint eine Binärdatei zu finden. Wenn wir jedoch etwas tiefer graben, werden wir sehen, dass es sich um eine symbolische Verbindung handelt, auf die tatsächlich verwiesen wird dash, die leichte Shell, die zum Ausführen von Skripten verwendet wird:

ls -l /bin/sh

Dies ist eine saubere und einfache Möglichkeit, ein Sicherheitsnetz für Skripte bereitzustellen, die voraussichtlich gefunden werden sh auf modernen Systemen.

Installieren einer anderen Shell

Lassen Sie uns das installieren fish Shell und setzen Sie es als Standard für dave. Unter Ubuntu geben wir den folgenden Befehl ein:

sudo apt-get install fish

Verwenden Sie auf Manjaro pacman::

sudo pacman -Sy fish

Geben Sie auf Fedora Folgendes ein:

sudo dnf install fish

Wenn die Installation abgeschlossen ist, können Sie die installierten Shells noch einmal überprüfen:

cat /etc/shells

Unsere neue Shell erscheint als /usr/bin/fish. Beachten Sie diesen Pfad – Sie werden ihn in Kürze benötigen.

Die Umgebungsvariable $ SHELL

Das $SHELL Die Umgebungsvariable enthält den Namen Ihrer aktuellen Shell. Wir können überprüfen, mit welchem ​​es eingestellt ist echo::

echo $SHELL

Beginnen wir das fish Schale:

fish

Lassen Sie uns nun noch einmal überprüfen, was die $SHELL Umgebungsvariable sagt:

echo $SHELL

Das erste Mal verwenden wir echo $SHELL, wo in der bash Schale. Die Umgebungsvariable enthält den Pfad zum bash ausführbar, /bin/bash.

Wenn wir die fish Shell erhalten wir eine freundliche Begrüßungsnachricht und die Eingabeaufforderung ändert sich. Was überraschen könnte, ist die $SHELL Umwelt hält immer noch den Weg zum bash ausführbar, /bin/bash. Das ist okay – das ist normal.

Wenn Sie eine neue Shell (oder ein anderes Programm) starten, erbt sie die Umgebung der übergeordneten Shell. Also, die fish Shell erbt die globalen und exportierten Umgebungsvariablen von der bash Schale. Weil der Wert in der $SHELL Umgebungsvariable wurde nicht geändert, sie hat den gleichen Wert in der fish Shell, die es in der tat bash Schale.

Wir laufen fish wie jedes andere Programm. Wir können auch verwenden exit zu verlassen fish Schale. Es schließt wie jedes andere Programm und wir kehren zum zurück bash Schale.

Das ist großartig, um neue Muscheln auszuprobieren, zu sehen, was sie können und ob Sie mit ihnen auskommen. Sie können erkunden, bevor Sie den Sprung machen, und einen als Ihre Go-to-Shell übernehmen.

Wenn Sie sich entscheiden, die zu machen fish– oder jede andere Shell – Ihre Standardeinstellung ist, dass Sie die verwenden müssen chsh Befehl.

Der Befehl chsh

Das chsh Mit dem Befehl können Sie Ihre Standard-Shell ändern. Der Trick besteht darin, dass Sie sowohl die Standardanmeldung als auch die interaktiven Standardshells ändern können. Vielleicht möchten Sie das eine oder das andere oder beides ändern.

Wenn Sie sich anmelden, um eine Eingabeaufforderung zu erhalten, verwenden Sie die Shell, die als Anmeldeshell konfiguriert ist. Wenn Sie bereits angemeldet sind und ein Terminalfenster öffnen, verwenden Sie die Shell, die als interaktive Shell konfiguriert ist. Dies können entweder die gleichen oder verschiedene Schalen sein.

Verwenden Sie zum Festlegen Ihrer Login-Shell chsh ohne Parameter:

chsh

Sie werden aufgefordert, Ihr Passwort einzugeben. Dann müssen Sie den Pfad zur neuen Shell eingeben und die Eingabetaste drücken.

Wenn wir von einem anderen Computer aus eine Remoteverbindung zu diesem Testcomputer herstellen, befinden wir uns in der fish Shell, sobald wir uns angemeldet haben.

Um Ihre interaktive Shell zu ändern, verwenden Sie chsh mit dem -s (Shell) Option. Übergeben Sie den Pfad zur neuen Shell in der Befehlszeile:

chsh -s /usr/bin/fish

Sie werden aufgefordert, Ihr Kennwort einzugeben und zur Eingabeaufforderung Ihrer aktuellen Shell zurückzukehren. Sie müssen sich abmelden und wieder anmelden, damit die Änderung wirksam wird. Wenn Sie dies tun, sehen Sie die Begrüßung und die fish Shell-Eingabeaufforderung.

Das $SHELL Die Umgebungsvariable enthält jetzt den Pfad zu Ihrer neuen Standard-Shell:

echo $SHELL

Ändern der Shell eines anderen Benutzerkontos

Wenn Sie Root-Rechte haben und verwenden können sudokönnen Sie die Shells anderer Benutzerkonten ändern. Der Befehl ist derselbe wie zuvor, wobei der Benutzername dieser Person zur Befehlszeile hinzugefügt wurde:

sudo chsh -s /usr/bin/fish mary

Wann mary Wenn sie sich das nächste Mal anmeldet, sieht sie die neue Shell, wenn sie ein Terminalfenster öffnet.

Jeder hat einen Favoriten

Solange Sie mit Ihrer Wahl der Schale vertraut sind und diese für Sie funktioniert, ist das großartig! Denken Sie daran, dass allgemeine Skripts wie Installationsroutinen ausgeführt werden müssen. Für die hier genannten Muscheln sollte dies kein Problem sein.

Natürlich können Sie auch eine neue Shell herunterladen, installieren und eine Probefahrt machen, ohne Konfigurationsänderungen an Ihrem Computer vorzunehmen. Wenn Sie bereit sind, den Knoten zu knüpfen, chsh wird die Zeremonie für Sie durchführen.

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia