4

ユーザーがログインするか ID が想定されるたびに実行されるカスタム シェル スクリプトがあり、/etc/profile.d に配置され、いくつかの基本的な環境変数操作を実行します。最近、画面が実行されている場合、何も入力しなくても画面が再接続されるように、いくつかのコードを追加しました。ただし、いくつかの問題があります。root としてログインし、su - 別のユーザーにログインすると、コードが 2 回目に実行されます。コードが最初に実行されるときに、コードの 2 回目の実行を防ぐために設定できる変数はありますか?

ディスクに何かを書き込もうとしましたが、新しい端末セッションを開始した場合にコードが実行されないようにしたくありません。これが問題のコードです。最初に再接続を試みます - 既に接続されているために失敗した場合 (中断されたセッション上にある可能性があるため)、セッションを元に戻します。

screen -r

if [ -z "$STY" ]; then
    exec screen -dR
fi

最終的に、このバグにより、ユーザーを別のユーザーに置き換えることができなくなります。これを行うとすぐに、画面セッションが取得され、最初の場所に戻るからです。かなりイライラする

4

2 に答える 2

1

su で取得したシェルの ${PPID} が su コマンドになります。したがって、の出力

ps -o command= $PPID

文字で始まるsuので、これをテストします。

于 2010-05-28T14:28:34.067 に答える
0

次の投稿(およびお気に入りのシェルの男性)を読むと、これを正しく理解できると思います。 ログインとプロファイルに関する質問

于 2010-03-13T18:35:33.723 に答える