次のスクリプトはどのように機能するのですか?与えられたbashスクリプトは何をしますか?
#!/bin/sh
until who | grep "$1" > /dev/null
do
sleep 60
done
#now ring the bell and announce the expected user
echo -e '\a'
echo "*** $1 just logged in ***"
exit 0
次のスクリプトはどのように機能するのですか?与えられたbashスクリプトは何をしますか?
#!/bin/sh
until who | grep "$1" > /dev/null
do
sleep 60
done
#now ring the bell and announce the expected user
echo -e '\a'
echo "*** $1 just logged in ***"
exit 0
このスクリプトは、(現在のユーザのログインを与える)コマンドwho
は、スクリプトの最初の引数と一致する行を与えるまで、それは、ベルを鳴らすとに関するメッセージを出力します待機しますでログインしているユーザー。
あなたは、それがその後、一度、印刷*** alfe just logged on ***
ビープ音、でalfe
ログインするまで待機します
script alfe
としてそれを呼び出す必要があります。
この回答はほとんど正しい(+1)ですが、私は(むしろnit-pick)、スクリプト_polls_ではなく_waits_と言うでしょう。ユーザーが60秒間ログインしてログアウトした場合、スクリプトはそれを捕まえません...本当にこのようなログインをすべてログに記録する場合は、 'bashrc'ファイル('/etc/bashrc') 、 '〜/ .bashrc')... – anishsane
@anishsaneもちろん、あなたは正しいですが、これはあいまいな言葉「wait」に関する実装上の詳細です。私は「ポーリングで待っている(ホストに不必要な負荷をかけたり、イベントをスキップしたりするようなすべての面で)」という意味で、wait(2)の意味をもっと念頭に置いています。私のほうが現実的な意味を持っていました(医師が到着するまで誰かに伝えることを考えてください;もし医者が到着してすぐに再び出るなら、典型的な反応は医者がポーリングのように再び到着するのを待つことです)。とにかくQが合わないので、私は簡単な説明を選んだ。 – Alfe
ああ、私は小柄なだけだった。ちょうどその方法が信頼できる100%でないことをOPに指摘したかった。 – anishsane
DIDが理解していることは明確ではありません。 – yakobom