【问题标题】:Get a warning of active-users on windows using shell script使用 shell 脚本获取 Windows 上的活动用户警告
【发布时间】:2021-08-17 22:27:51
【问题描述】:

我正在尝试编写一个 shell 脚本,如果多个用户在共享虚拟机上处于活动状态,它会返回警告。

所以本质上,query user 命令的输出必须通过管道传输到例如 awk,然后必须检查状态。因此,如果有多个活动状态,脚本将返回警告,并带有 query user 命令的输出,突出显示活动用户。通过突出显示活跃用户,我的意思是例如给一行活跃用户提供绿色背景色

Concept
query user | awk 'function to test how many users are active and retun a warning with highlighted active users if more than one is active' 

请注意,这不能仅使用 awk 来完成。我相信 grep 也应该做这项工作。但是,从本月开始,我是 shell 脚本的初学者。

希望你能帮助我并提前感谢

【问题讨论】:

  • 感谢您在问题中分享您的努力,请以文本形式发布query user 命令的输出,以便我们测试我们的解决方案,谢谢。
  • SO 不是编码服务。
  • | grep -c "Aktiv" 会告诉您系统上有多少活跃用户。
  • @RavinderSingh13 感谢您的评论。查询用户的输出如图所示。出于私人数据的原因,我刚刚隐藏了用户的姓名。虽然我相信状态才是最重要的,但我的意思是我应该关注的地方。用户每次都可能不同
  • @Nic3500。感谢您的评论。这真的很有希望,并解决了我的部分问题。但是,我正在尝试用绿色背景标记活跃用户。因此,当有多个活动用户时,它应该返回查询用户的常规输出,但是每个活跃用户都会获得绿色背景色

标签: bash shell awk command-line grep


【解决方案1】:

|grep -c "Aktiv" 告诉你有多少是活跃的。如果此数字 >1,请运行另一个 |grep "Aktiv" 以显示哪些用户具有该状态。

或者在一个变量中捕获|grep "Aktiv" 的输出并计算输出中的行数。如果 >1,则显示输出。

例如:

#!/bin/bash

output=$(grep "Aktiv" input_file.txt)
count=$(echo "$output" | wc -l)

if [[ "$count" -gt 1 ]]
then
    echo "$output"
fi

【讨论】:

  • 如果你能给我的问题投票,我会很高兴:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-27
  • 1970-01-01
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
  • 2012-08-28
相关资源
最近更新 更多