2016-11-23 64 views
-2

什麼是shell腳本來統計當前使用grep和任何其他Unix命令使用Korn shell的登錄用戶數。提前致謝。Unix shell編程來計算使用Korn shell的活動用戶數量

+1

歡迎來到Stack Overflow。你可以改善你的問題。請閱讀[如何提問](http://stackoverflow.com/help/how-to-ask),其中包括「如何以智能方式提問」鏈接。 – zhon

+2

該作業沒有一個shell腳本。真正的問題是:您嘗試了什麼以及您遇到了哪些問題?在你的方案中,登錄用戶是否自動激活? (我有一臺機器,一年前我在一臺終端上登錄;該終端在過去6個月內沒有使用 - 它會算作活動嗎?) –

+0

是的,我想將這些數據計爲活動數據。 @JonathanLeffler – Shiba

回答

0

who是列出在線用戶的命令。爲了計算在線用戶數,你可以管的whogrep輸出,可與-c參數計算行數:

who | grep -c . 

編輯:我錯過了使用Korn shell的有關用戶的詳細信息。

可以代替試試這個:

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

ps是列出關於當前正在運行的進程信息的命令。 -e參數使其顯示有關所有系統進程的信息,而-o command參數使其僅顯示命令。

ps -e -o command將向您顯示當前正在運行的進程的列表。現在,您可以將輸出傳送到grep,並使用-c參數來計算匹配[k]sh的行數。在「k」周圍使用括號,因爲否則grep將自行匹配,因爲grep命令包含「ksh」作爲參數。 (你可以通過檢查ps -e -o command的輸出來看到這個)。

(我假設Korn shell進程的名字是「ksh」。如果是別的東西,你應該使用它作爲參數grep。 )

+0

謝謝,但我需要使用grep和任何其他Unix命令來查找當前使用Korn shell的計數。 – Shiba

+0

對不起,我錯過了那個細節。我只是編輯了答案,以完全回答你的問題。 –

+0

謝謝,這是有道理的。 – Shiba