Linux запускает подоболочку и останавливает весь скрипт

Linux запускает подоболочку и останавливает весь скрипт

Как это сделать?

#!/bin/csh
newgrp user_grp2
echo ok

"echo ok" не выполняется, пока я не напишу exit в консоли. Это пример кода. Как заставить его работать?

Я спрашиваю по-другому: когда я запускаю какой-то скрипт с командой, которая запускает подоболочку, и мне нужно не останавливать выполнение скрипта после создания подоболочки, то что я могу сделать? Есть ли способ это сделать?

решение1

Чтобы правильно понять, вы просто хотите передать некоторые команды и запустить их как user_grp2?

Если это так, вы можете сделать следующее в своем скрипте:

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

Связанный контент