escrevendo um script para enviar todos os usuários online

1

Estou fazendo minha primeira aula sobre Linux e estamos escrevendo scripts. Atualmente eu estou tentando escrever um script que vai olhar para quem está online e, em seguida, enviar-lhes um e-mail

Esta é uma classe linux de nível de entrada, então nada de louco, e eu sou um homem velho tendo esta classe. Eu não uso computadores desde que eu tive meu TRS-80 e aprendi básico.

O que eu estou querendo saber é como eu armazeno nomes de usuários em algum tipo de matriz ou variável. Acho que preciso começar com uma variável contando os usuários como

NUMUSERS = users | wc -w

e, em seguida, acho que preciso usar essa informação para criar uma variável que irá mostrar todos os nomes.

USERNAME = 'who | awk '{print $ 1}' | classificar | uniq

isso funciona se apenas uma pessoa estiver on-line. Mas não tenho certeza de como / o que escrever se mais pessoas aparecerem.

Alguma ajuda?

    
por DamianOgre 14.07.2014 / 04:45

1 resposta

0

@DamianOgre: Eu acho que você está pensando demais nisso. Você não precisa contá-los, apenas faça um loop pelos nomes retornados.

who | cut -d " " -f 1| sort -u |  while read user
do
  echo "Hi there!" | mail $user
done

P.S .: Eu AMO awk, mas aqui o corte vai funcionar bem. :) P.P.S .: Alguns comandos podem diferir em sua configuração, pode ser mailx, mutt, ...

    
por 14.07.2014 / 06:03