dedlfix: bash - Globale Umgebungsvariable im Script ändern

Beitrag lesen

Tach!

Dann wäre doch die logische Konsequenz, dass man die shebang-Zeile generell weglassen sollte,
Nein. Das wäre nur für sehr einfache und wirklich nur Shellscripts sinnvoll.
nur darauf hatte ich mich auch bezogen.

Das hatte ich schon vermutet, aber mir war das noch nicht ganz eindeutig.

Die Shebang braucht es nicht nur, um für Nicht-Shell-Scripte (also Perl, Phython, Ruby, Expect, ...) die passende Laufzeitumgebung zu finden.

Hm. Dagegen war ja die Erkennung nach der Windows-Methode an der Dateiendung ein richtiger Fortschritt. Denn das für die Laufzeitumgebung notwendige Programm kann ja von System zu System in verschiedenen Verzeichnissen liegen, es ist also problematisch, das im Kopf jedes Scripts festzuschreiben.

Dafür/dagegen gibt es ja /usr/bin/env

Gegenfrage: In wie vielen Fällen ist denn das Environment überhaupt von Belang? Offensichtlich gibt es solche Fälle, wie dieser Thread zeigt. Aber ist es nicht so, dass man sich in den allermeisten Fällen "keinen Kopp" macht, weil es irrelevant ist? Ist es deshalb nicht ein unnötiger Overhead, wenn für jeden Aufruf einer Batchdatei eine neue Shell-Instanz gestartet wird?

Genauso könntest du ja - um mal zu übertreiben - für eine Sandbox plädieren. Meist braucht man die nicht, also kann man die ja generell beim Start von Programmen/Scripten/Dokumenten links liegen lassen und nur wenn man was wirklich verdächtiges starten/öffnen will, dann nimmt man sie. Nur, wer prüft das denn jedes Mal vorher, ob ein Programm keinen Unfug anstellt? Wer prüft denn, dass das Script die Shell genauso wieder verlässt, wie es sie vorgefunden hatte und kein Unrat liegen bleibt?

dedlfix.