シェルスクリプトによるログアウト

シェルスクリプトによるログアウト

私はシェルスクリプトを通していくつかのことをしています。スクリプトが成功した場合は続行し、そうでない場合は現在のユーザーをログアウトします。現在、ユーザーをログアウトする方法が見つかりません。終了を試してみましたが、シェルではなく現在のプロセスで終了しているようです。 PS:ユニバーサルユーザーなので、そのユーザーを介して実行されるプロセスが多いため、pkillを使用して現在のユーザーのセッションを終了することはできません。また、このユーザーはユニバーサルユーザーであるため、他のチームメンバーがこのユーザーを介してシステムにログインでき、そのセッションが終了する可能性があります。

ベストアンサー1

スクリプトが実行されているのと同じシェルの場合は、source新しいプロセスとして実行するのではなく直接使用でき、exit正常にログアウトされます。

つまり、あなたの代わりに./script.shしてくださいsource ./script.sh。この違いが発生するのは、ソースが現在のシェルにファイル内のコマンドを実行させるシェル組み込みであるためです。ソースなしでスクリプトを実行すると、スクリプトを実行するための新しいプロセスが作成されるため、終了してもシェルは終了しません。

おすすめ記事