如何过滤其他用户使用的主机



我想检查其他人是否登录主机。我有以下 tcsh 脚本。我想过滤其他用户使用的主机。我正在使用 tcsh

    host_list="/home/campus27/zwang10/bin/hostlist"
    HOSTS=`cat $host_list`
    cp /dev/null hostlist_available
    for line in $HOSTS
    do 
    ssh -o ConnectTimeout=1s $line true &>/dev/null
    RESULT=$?
    if [ $RESULT -eq 0 ]
    then
    echo $line
    echo $line >> hostlist_available
    fi
    done

上面的脚本会将所有可用的主机名写入hostlist_available

但其他人正在登录可用的主机。我想删除这些主机(除了我)。我的用户名是 zwang10 .

上面的 then 和 fi 之间插入它。 如果我的语法没有被击中,请原谅

for USER in ssh -f $line "w" | tail -n+3 | awk '{print $1}'
do
  # if user is empty OR user is me then
  if [[ $USER =~ ^s*$ ]] || [[ "$USER." == "zwang10." ]]; then
    echo $line
    echo $line >> hostlist_available
  else
    echo "$line occupied by $USER"
  fi
done

我认为这大致是你想要的。

最新更新