Hoffentlich ist diese Frage nicht zu allgemein. Ich bin sehr neu in Shell-Scripting und komme aus einer Computerarchitektur / Nicht-Scripting-Programmierung. Ich habe bei den Skripten bei meiner Arbeit festgestellt, dass die Skripte selten geschrieben werden, indem eine Unter-Shell um das gesamte Skript erstellt wird. In den Skripten, die ich schreibe, bin ich es, wenn ich es mit einer Sub-Shell umhüllen kann, da es verhindert, dass es mit anderen Skripten, die meine aufrufen, in Konflikt gerät (nur für den Fall). Ist dies nicht eine gängige Praxis, da mit diesem Ansatz ein gewisser Aufwand verbunden ist? Es fällt mir schwer, dies online zu finden.
Beispiel:
#!/bin/bash
( #Start of subshell
echo "Some stuff here"
) #End of subshell
bash
und z. B. C. Die wahre Antwort auf diese "Overhead" -Frage ist wirklich eine Nichtantwort: Wenn Wenn Sie sich Sorgen über den Leistungsaufwand machen, sollten Sie kein Shell-Skript verwenden.
somefunction() ( ... )
(Beachten Sie die Parens anstelle von Locken) somefunction
Es ist nicht ungewöhnlich, anzugeben, dass immer eine Unterschale erstellt werden soll. Ich glaube jedoch nicht, dass tatsächliche Skripte in Klammern eingeschlossen werden müssen.
source
oder führen sie stattdessen Ihr Skript aus?