Shell

Wat is het verschil tussen Login en Non-Login Shell

Wat is het verschil tussen Login en Non-Login Shell

Als de uitvoer de naam is van onze shell, voorafgegaan door een streepje, dan is het een login-shell. Bijvoorbeeld -bash, -su enz. Een non-login shell wordt gestart door een programma zonder login. In dit geval geeft het programma alleen de naam van het uitvoerbare shell-bestand door.

  1. Wat is een login-shell?
  2. Hoe weet je of een shell een login-shell is??
  3. Hoe open ik een niet-inlog-shell??
  4. Wat is het verschil tussen een interactieve shell en een niet-interactieve shell?
  5. Is Shell een login?
  6. Wat is geen login-shell?
  7. Hoe weet ik mijn login-shell?
  8. Hoe weet ik of ik zsh of bash heb?
  9. Welk commando wordt gebruikt om bestanden te identificeren?
  10. Wat is de opdracht Uitvoeren als een login-shell?
  11. Wat is Shell bash login?
  12. Moet ik Bashrc of Bash_profile gebruiken?

Wat is een login-shell?

Een login-shell is een shell die aan een gebruiker wordt gegeven bij het inloggen op zijn gebruikersaccount. Dit wordt gestart door de optie -l of --login te gebruiken, of door een streepje te plaatsen als het eerste teken van de commandonaam, bijvoorbeeld door bash aan te roepen als -bash.

Hoe weet je of een shell een login-shell is??

Om te controleren of u zich in een login-shell bevindt:

Er is geen draagbare en volledig betrouwbare manier om te testen op een login-shell. Ksh en zsh voegen l toe aan $- . Bash stelt de login_shell-optie in, die u kunt opvragen met shopt -q login_shell .

Hoe open ik een niet-inlog-shell??

Een andere manier om een ​​niet-interactieve login-shell te krijgen, is door op afstand in te loggen met een commando dat wordt doorgegeven via standaardinvoer die geen terminal is, e.g. ssh voorbeeld.com <mijn-script-dat-lokaal-is opgeslagen (in tegenstelling tot ssh-voorbeeld.com my-script-that-is-on-the-remote-machine, die een niet-interactieve, niet-login shell draait).

Wat is het verschil tussen een interactieve shell en een niet-interactieve shell?

Interactief: zoals de term al aangeeft: Interactief betekent dat de opdrachten worden uitgevoerd met gebruikersinteractie vanaf het toetsenbord. E.g. de shell kan de gebruiker vragen om invoer in te voeren. Niet-interactief: de shell wordt waarschijnlijk uitgevoerd vanuit een geautomatiseerd proces, dus het kan er niet van uitgaan dat het om input kan vragen of dat iemand de output zal zien.

Is Shell een login?

Login shell is het eerste proces dat wordt uitgevoerd onder onze gebruikers-ID wanneer we inloggen op een sessie. Het inlogproces vertelt de shell om zich te gedragen als een login-shell met een conventie: het doorgeven van argument 0, wat normaal gesproken de naam is van het uitvoerbare shell-bestand, met een "-" -teken voorafgegaan.

Wat is geen login-shell?

nologin geeft een bericht weer dat een account niet beschikbaar is en wordt afgesloten met een andere waarde dan nul. Het is bedoeld als een vervangend shell-veld om login-toegang tot een account te weigeren. Als het bestand / etc / nologin. txtexists, toont nologin de inhoud aan de gebruiker in plaats van het standaardbericht.

Hoe weet ik mijn login-shell?

cat / etc / shells - Lijst met padnamen van geldige login-shells die momenteel zijn geïnstalleerd. grep "^ $ USER" / etc / passwd - Druk de standaard shell-naam af. De standaardshell wordt uitgevoerd wanneer u een terminalvenster opent. chsh -s / bin / ksh - Verander de gebruikte shell van / bin / bash (standaard) naar / bin / ksh voor je account.

Hoe weet ik of ik zsh of bash heb?

Werk uw Terminal-voorkeuren bij om de shell te openen met de opdracht / bin / bash, zoals weergegeven in de bovenstaande schermafbeelding. Sluit Terminal af en start deze opnieuw. U zou "hallo van bash" moeten zien, maar als u echo $ SHELL uitvoert, ziet u / bin / zsh .

Welk commando wordt gebruikt om bestanden te identificeren?

Het file commando gebruikt het / etc / magic bestand om bestanden te identificeren die een magisch nummer hebben; dat wil zeggen, elk bestand dat een numerieke of tekenreeksconstante bevat die het type aangeeft. Dit toont het bestandstype van mijnbestand (zoals directory, gegevens, ASCII-tekst, C-programmabron of archief).

Wat is de opdracht Uitvoeren als een login-shell?

1 antwoord

  1. Als Bash wordt uitgevoerd als een login-shell, leest Bash ~ /. bash_profile (of, als dat niet bestaat, ~ /. profiel) bij het opstarten. In sommige gevallen leest dit bestand ~ /. bashrc ook.
  2. Als Bash wordt uitgevoerd als een niet-inlog-shell, leest Bash ~ /. bashrc .

Wat is Shell bash login?

Wanneer bash wordt aangeroepen als een interactieve login-shell, of als een niet-interactieve shell met de --login-optie, leest en voert het eerst commando's uit het bestand / etc / profile uit, als dat bestand bestaat. Na het lezen van dat bestand, zoekt het naar ~ /. bash_profile, ~ /.

Moet ik Bashrc of Bash_profile gebruiken?

bashrc wordt bij elke start in interactieve modus gebruikt wanneer bash (1) niet als login-shell fungeert. . bash_profile wordt alleen verkregen als bash (1) wordt gestart als een interactieve login-shell, of als een niet-interactieve shell met de --login-optie. ... bash_profile is geweldig voor opdrachten die maar één keer moeten worden uitgevoerd en .

Hoe Apache op Ubuntu 20 te installeren.04
Hoe Apache op Ubuntu 20 te installeren.04 LTS Stap 1 - Apache 2-server installeren. ... Stap 2 - Zorg ervoor dat de Apache-service is gestart bij het ...
Hoe Ruby-applicatie te implementeren met Passenger en Apache op CentOS 7/6, Fedora 27
Hoe Ruby-applicatie te implementeren met Passenger en Apache op CentOS 7/6, Fedora 27 Stap 1 - Installatievereisten. ... Stap 2 - Installeer Apache Pa...
Wat is Apache Prefork, Worker en Event MPM (Multi-Processing Modules)
De Apache-webserver wordt geleverd met Multi-Processing Modules (MPM's), voornamelijk 'prefork' MPM en 'worker' MPM die verantwoordelijk zijn voor het...