サーバーが起動すると、.bashrc
の行が次のコマンド/bin/watch ~/checker.bash
を実行するサーバーがあり、サーバーの起動時にそのコマンドを監視します。
そのマシンにログインするクライアントもいますが、クライアントのセッションで.bashrc
から同じコマンドを実行したくありません。
Env変数を渡すためにAcceptEnv
を調べましたが、サーバーの構成が必要になるため、避けたいです。
また、.bashrc
ごとに2つの異なるユーザーアカウントを設定したくありません。
これからアプローチする別の角度はありますか?
.bashrc
ssh
を介して呼び出されない場合のみ。
例えば何かのようなもの:
# within an SSH-session, ${SSH_TTY} will be set
if [ "x${SSH_TTY}" = "x" ]; then
/bin/watch ~/checker.bash
fi
二つの方法:
このセッションではbashを使用しないでください。ダッシュ(または/ bin/sh)を試してください。
ssh 127.0.0.1 /bin/dash
コマンドオプションを指定してbashを使用し、スタートアップファイルの処理を無効にします。
ssh 127.0.0.1 "bash --noprofile --norc"
/ bin/watch ....という行を次のように置き換えることができます
if ps ax | grep /bin/watch | grep -v grep > /dev/null 2>&1
then
echo "Nothing to do"
else
/bin/watch ~/checker.bash
fi
またはそのようなもの。