2016-11-23 6 views
-2

現在、grepおよびその他のUnixコマンドを使用しているKornシェルを使用しているログインユーザーの数をカウントするシェルスクリプトとは何ですか?前もって感謝します。Kornシェルを使用しているアクティブユーザーの数をカウントするUNIXシェルプログラミング

+1

ようこそスタックオーバーフロー。あなたはあなたの質問を改善することができます。 [質問する方法](http://stackoverflow.com/help/how-to-ask)を参照してください。 – zhon

+2

ジョブのためのシェルスクリプトはありません。本当の疑問は:あなたは何を試してみましたか、あなたはそれで何が問題になっていますか?あなたのシナリオでは、ユーザは自動的にアクティブにログインしていますか? (私は1年前に1台の端末にログインしたマシンを持っていますが、その端末は過去6ヶ月間使用されていませんでした - アクティブとしてカウントされますか?) –

+0

はい、これらをアクティブとしてカウントします。 @JonathanLeffler – Shiba

答えて

0

whoは、オンラインのユーザーを一覧表示するコマンドです。

who | grep -c . 

EDIT:オンラインユーザーの数をカウントするために、あなたはパイプ-c引数で行数をカウントすることができgrepからwhoの出力を、することができます私はKornシェルを使用しているユーザーについての詳細を逃しました。

あなたは代わりに、これを試すことができます。

ps -e -o command | grep -c "[k]sh" 

psは、現在実行中のプロセスに関する情報を一覧表示するコマンドです。 -e引数を指定すると、すべてのシステムプロセスに関する情報が表示され、-o command引数にはコマンドのみが表示されます。

ps -e -o commandには、現在実行中のプロセスの一覧が表示されます。今度は、出力をgrepにパイプし、引数を使用して[k]shに一致する行の数を数えます。 grepコマンドには引数として "ksh"が含まれているため、grepがそれ自身と一致するため、角かっこは "k"の周りで使用されます。 (これは、ps -e -o commandの出力を確認することで確認できます)

(私はKornシェルプロセスの名前が "ksh"であると仮定しています)他の場合は、grepの引数として使用してください。 )

+0

ありがとうございますが、私はgrepと他のUnixコマンドを使用して現在Kornシェルを使用している数を調べる必要があります。 – Shiba

+0

申し訳ありませんが、私はその詳細を逃しました。あなたの質問に完全に答えるための答えを編集しました。 –

+0

ありがとうございます。 – Shiba

関連する問題