Kurze Frage:
Ich führe im Terminal bash -l aus starte eine neue Instanz als Anmelde-Shell.
$ bash -l $ echo $0 bash
Müsste nicht ein Bindestrich erscheinen vor dem "bash" als Kennzeichen für eine Anmelde-Shell? Warum tut es nicht?
LG Forumsnutzer
|
Anmeldungsdatum: Beiträge: 128 |
Kurze Frage: Ich führe im Terminal bash -l aus starte eine neue Instanz als Anmelde-Shell. $ bash -l $ echo $0 bash Müsste nicht ein Bindestrich erscheinen vor dem "bash" als Kennzeichen für eine Anmelde-Shell? Warum tut es nicht? LG Forumsnutzer |
||||||||||||||||
|
Anmeldungsdatum: Beiträge: 14596 |
Wie ist jetzt die Ausgabe von:
? EDIT: Z. B.:
vs. EDIT 2:
|
||||||||||||||||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 128 |
Vielen Dank! Ok, die Ausgabe von shopt ändert sich zu "on" nach "bash -l". Aber was genau zeigt mir echo $0 dann genau an? Ich verstehe es bis jetzt nicht.
Inwiefern "der Befehl du du eingebenen hast"? Den zur Anmeldung? Das behauptet die KI:
Diese Behauptung scheint aber laut deiner Aussage nicht zuzutreffen. Ich kann im Netz tatsächlich gerade nirgendwo eine Erklärung finden. |
||||||||||||||||
|
Anmeldungsdatum: Beiträge: 14596 |
Das was deine KI in diesem Fall sagt, ist nicht richtig. Schau dir mal (als normaler user) vor und nach der Eingabe von "bash -l", die Ausgabe (bash-Prozesse) von: ps aux | grep [b]ash
an. ps aux | grep [b]ash an. |
||||||||||||||||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 128 |
Danke! Also ich konnte für mich schon verifizieren, dass bash -l keine Anmelde-Shell initiiert. Was $0 genau bedeutet, habe ich aber noch nicht so ganz verstanden, aber vielleicht ist das ein anderes Thema. |
||||||||||||||||
|
Anmeldungsdatum: Beiträge: 14596 |
$0 beinhaltet (oder ist) (der Pfad und) der Name des Programms. Siehe z. B. auch die Ausgaben von:
"echo $0" ist keine gute Möglichkeit, um nach der login-shell zu schauen. Besser ist: shopt login_shell |
||||||||||||||||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 128 |
Vielen Dank! |