Linux がサブシェルを起動し、スクリプト全体を停止する

Linux がサブシェルを起動し、スクリプト全体を停止する

どうすれば機能するのでしょうか?

#!/bin/csh
newgrp user_grp2
echo ok

コンソールに exit と書き込むまで、「echo ok」は実行されません。これはサンプル コードです。どうすれば動作させることができますか?

別の方法で質問します。サブシェルを開始するコマンドを使用してスクリプトを実行し、サブシェルを作成した後でスクリプトの実行を停止したくない場合は、どうすればよいでしょうか。何か方法はありますか。

答え1

正しく理解するために、いくつかのコマンドを渡して、それを実行したいだけですかuser_grp2?

その場合はスクリプトで次の操作を実行できます。

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

関連情報