Linux: Subshell auslösen und ganzes Skript stoppen

Linux: Subshell auslösen und ganzes Skript stoppen

Wie funktioniert es?

#!/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 kann man ihn zum Laufen bringen?

Ich frage anders: Was kann ich tun, wenn ich ein Skript mit einem Befehl ausführe, der eine Subshell startet, und ich die Ausführung des Skripts nach dem Erstellen der Subshell nicht beenden darf? Gibt es eine Möglichkeit, dies zu tun?

Antwort1

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

Wenn dies der Fall ist, können Sie in Ihrem Skript Folgendes tun

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

verwandte Informationen