[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: /bin/-bash -c



Rolf Reintjes <lists.rolf@reintjes.nrw> (So 15 Jan 2023 19:51:37 CET):
> Ich habe es gegooglet und dann selber ausprobiert: Ich habe STRG-ALT-F2
> gedrückt und mich eingeloggt. Dann stand unter ps aux ein bash mit einem -
> davor, also -bash .

Leute. Das - wird vom Aufrufer der Shell in argv[0] eingetragen. Der
Aufrufer macht sowas wie

        exec("/bin/bash", "-bash", …)

Siehe exec(3) und auch als Analogon `help exec`

Das macht normalerweise jemand, der der startenden Shell mitteilen
möchte, dass sie eine Login-Shell ist. Z.B. der Login-Prozess (login(1))
tut das, möglicherweise auch - je nach Konfiguration - das
Gnome-Termnal.

Die Shell hat sich an diese Konvention gewöhnt, und guckt unmittelbar
nach dem Start nach, ob argv[0][0] ein '-' ist, und verhält sich dann
wie eine Login-Shell, ansonsonsten halt nur wie eine (möglicherweise
interaktive) Nicht-Login-Shell.

    Best regards from Dresden/Germany
    Viele Grüße aus Dresden
    Heiko Schlittermann
--
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} -
 gnupg encrypted messages are welcome --------------- key ID: F69376CE -

Attachment: signature.asc
Description: PGP signature


Reply to: