Linux feuert eine Subshell und stoppt das gesamte Skript

459
wcale

Wie funktioniert das?

#!/bin/csh newgrp user_grp2 echo ok 

"echo ok" wird erst ausgeführt, wenn ich exit in die Konsole schreibe. Dies ist ein Beispielcode. Wie funktioniert das?

Ich frage auf eine andere Art und Weise: Wenn ich ein Skript mit Befehl ausführt, das eine Subshell gestartet hat, und ich die Ausführung des Skripts nach dem Erstellen der Subshell nicht beenden muss, was kann ich dann tun? Gibt es eine Möglichkeit, dies zu tun?

0

1 Antwort auf die Frage

0
Sayajin

Nur um es richtig zu verstehen, möchten Sie einige Befehle übergeben und ausführen lassen user_grp2?

Wenn dies der Fall ist, können Sie Folgendes in Ihrem Skript ausführen

newgrp user_grp2 <<EOF echo "This is running as group \$(id -gn)"; touch somefile; id -gn; EOF