Schale

Was ist der Unterschied zwischen Login und Non-Login Shell?

Was ist der Unterschied zwischen Login und Non-Login Shell?

Wenn die Ausgabe der Name unserer Shell ist, dem ein Bindestrich vorangestellt ist, handelt es sich um eine Anmeldeshell. Zum Beispiel -bash, -su usw. Eine Shell ohne Anmeldung wird von einem Programm ohne Anmeldung gestartet. In diesem Fall übergibt das Programm nur den Namen der ausführbaren Shell-Datei.

  1. Was ist eine Login-Shell??
  2. Woran erkennt man, ob eine Shell eine Login-Shell ist??
  3. Wie öffne ich eine Nicht-Login-Shell??
  4. Was ist der Unterschied zwischen einer interaktiven Shell und einer nicht interaktiven Shell??
  5. Ist Shell ein Login??
  6. Was ist keine Login-Shell?
  7. Woher kenne ich meine Login-Shell??
  8. Woher weiß ich, ob ich zsh oder bash habe??
  9. Mit welchem ​​Befehl werden Dateien identifiziert??
  10. Was ist der Befehl Ausführen als Anmeldeshell??
  11. Was ist Shell Bash Login?
  12. Soll ich Bashrc oder Bash_profile verwenden??

Was ist eine Login-Shell??

Eine Anmeldeshell ist eine Shell, die einem Benutzer beim Anmelden in seinem Benutzerkonto gegeben wird. Dies wird durch Verwendung der Option -l oder --login oder durch Platzieren eines Bindestrichs als Anfangszeichen des Befehlsnamens eingeleitet, z. B. durch Aufrufen von bash als -bash.

Woran erkennt man, ob eine Shell eine Login-Shell ist??

So überprüfen Sie, ob Sie sich in einer Login-Shell befinden:

Es gibt keine tragbare und absolut zuverlässige Möglichkeit, eine Login-Shell zu testen. Ksh und zsh addieren l zu $- . Bash legt die Option login_shell fest, die Sie mit shopt -q login_shell abfragen können .

Wie öffne ich eine Nicht-Login-Shell??

Eine andere Möglichkeit, eine nicht interaktive Anmeldeshell zu erhalten, besteht darin, sich remote mit einem Befehl anzumelden, der über die Standardeingabe geleitet wird, bei der es sich nicht um ein Terminal handelt, z.G. ssh Beispiel.com <Mein Skript, das lokal gespeichert wird (im Gegensatz zum Beispiel ssh.com my-script-which-is-on-the-remote-machine, auf dem eine nicht interaktive Shell ohne Anmeldung ausgeführt wird).

Was ist der Unterschied zwischen einer interaktiven Shell und einer nicht interaktiven Shell??

Interaktiv: Wie der Begriff schon sagt: Interaktiv bedeutet, dass die Befehle mit Benutzerinteraktion über die Tastatur ausgeführt werden. E.G. Die Shell kann den Benutzer auffordern, Eingaben einzugeben. Nicht interaktiv: Die Shell wird wahrscheinlich von einem automatisierten Prozess ausgeführt, sodass nicht davon ausgegangen werden kann, dass sie Eingaben anfordern kann oder dass jemand die Ausgabe sieht.

Ist Shell ein Login??

Die Anmeldeshell ist der erste Prozess, der unter unserer Benutzer-ID ausgeführt wird, wenn wir uns bei einer Sitzung anmelden. Der Anmeldevorgang weist die Shell an, sich wie eine Anmeldeshell mit einer Konvention zu verhalten: Übergeben Sie das Argument 0, das normalerweise der Name der ausführbaren Shell-Datei ist, mit einem vorangestellten "-".

Was ist keine Login-Shell?

nologin zeigt eine Meldung an, dass ein Konto nicht verfügbar ist und wird ungleich Null beendet. Es ist als Ersatz-Shell-Feld gedacht, um den Anmeldezugriff auf ein Konto zu verweigern. Wenn die Datei / etc / nologin. txtexists, nologin zeigt dem Benutzer seinen Inhalt anstelle der Standardnachricht an.

Woher kenne ich meine Login-Shell??

cat / etc / shells - Listet die Pfadnamen der aktuell installierten gültigen Login-Shells auf. grep "^ $ USER" / etc / passwd - Gibt den Standard-Shell-Namen aus. Die Standard-Shell wird ausgeführt, wenn Sie ein Terminalfenster öffnen. chsh -s / bin / ksh - Ändern Sie die für Ihr Konto verwendete Shell von / bin / bash (Standard) in / bin / ksh.

Woher weiß ich, ob ich zsh oder bash habe??

Aktualisieren Sie Ihre Terminaleinstellungen, um die Shell mit dem Befehl / bin / bash zu öffnen, wie im obigen Screenshot gezeigt. Beenden Sie das Terminal und starten Sie es neu. Sie sollten "Hallo von Bash" sehen, aber wenn Sie echo $ SHELL ausführen, sehen Sie / bin / zsh .

Mit welchem ​​Befehl werden Dateien identifiziert??

Der Befehl file verwendet die Datei / etc / magic, um Dateien mit einer magischen Nummer zu identifizieren. Das heißt, jede Datei, die eine numerische oder Zeichenfolgenkonstante enthält, die den Typ angibt. Dies zeigt den Dateityp von myfile an (z. B. Verzeichnis, Daten, ASCII-Text, C-Programmquelle oder Archiv).

Was ist der Befehl Ausführen als Anmeldeshell??

1 Antwort

  1. Wenn Bash als Login-Shell ausgeführt wird, liest es ~ /. bash_profile (oder, falls nicht vorhanden, ~ /. Profil) beim Start. In einigen Fällen lautet diese Datei ~ /. bashrc auch.
  2. Bei Ausführung als Nicht-Login-Shell liest Bash ~ /. bashrc .

Was ist Shell Bash Login?

Wenn bash als interaktive Anmeldeshell oder als nicht interaktive Shell mit der Option --login aufgerufen wird, werden zuerst Befehle aus der Datei / etc / profile gelesen und ausgeführt, sofern diese Datei vorhanden ist. Nach dem Lesen dieser Datei wird nach ~ / gesucht. bash_profile, ~ /.

Soll ich Bashrc oder Bash_profile verwenden??

bashrc wird bei jedem Start im interaktiven Modus bezogen, wenn bash (1) nicht als Login-Shell fungiert. . bash_profile wird nur bezogen, wenn bash (1) als interaktive Anmeldeshell oder als nicht interaktive Shell mit der Option --login gestartet wird. ... bash_profile eignet sich hervorragend für Befehle, die nur einmal ausgeführt werden sollen und .

So installieren Sie FFmpeg unter Fedora 32/31/30
Die Installation von FFmpeg unter Fedora erfolgt in zwei Schritten. Schritt 1 Konfigurieren Sie das RPMfusion Yum Repository. FFmpeg-Pakete sind im RP...
Installieren und verwenden Sie FFmpeg unter Ubuntu 20.04
So installieren und verwenden Sie FFmpeg unter Ubuntu 20.04 Voraussetzungen. Sie müssen über Shell-Zugriff mit sudo-privilegiertem Kontozugriff auf Ih...
So richten Sie virtuelle Apache-Hosts unter Debian 10 ein
Schritt 1 Aktualisieren Sie das Debian 10 System Repository. ... Schritt 2 Installieren Sie Apache unter Debian 10. ... Schritt 3 Überprüfen des Statu...