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

时间:2016-01-26 23:17:25

标签: linux tcsh

我想检查其他人是否登录主机。我有以下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

1 个答案:

答案 0 :(得分:1)

将此插入您的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

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