Você está próximo, mas o problema principal é que a construção bash [[ ]]
não pode ter espaços entre os colchetes. Acho que você está tentando fazer vários comandos [
, que é o comando POSIX test
. Se você consertar que funciona, mas se o usuário tiver múltiplos ttys open, ele irá imprimir seu nome uma vez para cada um. Se você quiser usar grep
, você pode fazer isso:
#!/bin/bash
read -p "Please enter the user name you would like to search: " userName
if who | awk '{print $1}' | grep -wq "$userName"
then
echo "$userName is logged in."
else
echo "That user is not logged in.";
fi
exit