diff --git a/install.sh b/install.sh index c70db52..49f75ca 100755 --- a/install.sh +++ b/install.sh @@ -15,7 +15,11 @@ # Platte und startet sich von dort neu. Ab da ist stdin frei und apt kann # nichts mehr verschlucken. Idempotent: der Neustart setzt die Marker-Variable. # ============================================================================ -if [ -z "${NETBIRD_TG_REEXEC:-}" ] && [ ! -t 0 ]; then +# Nur bei einer ECHTEN PIPE (curl … | sh) neu starten. Bei `sh install.sh` +# oder `sh install.sh < eingabe` ist stdin eine Datei — dort kann kein +# Unterbefehl das Skript wegfressen, und der Re-Exec waere nur ein +# unnoetiger Download. +if [ -z "${NETBIRD_TG_REEXEC:-}" ] && [ ! -t 0 ] && [ -p /dev/stdin ]; then # Das Skript wird NICHT per `cat` von stdin kopiert: die Shell liest stdin # blockweise und hat den Anfang bereits gepuffert — `cat` bekaeme nur den # Rest und die Kopie waere unvollstaendig. Stattdessen frisch von der Quelle