
Digamos que eu tenha um arquivo com entradas,
Arquivo:
user pts/1 2016-10-22 19:47 (ip)
user1 pts/2 2016-10-22 20:04 (ip)
user1 pts/3 2016-10-22 20:04 (ip)
eu quero fazer um loop até que o usuário pressione um número entre 1-3 (número de linhas nesse arquivo)
e quando o usuário inserir 1, por exemplo, quero que o sistema envie uma mensagem para aquele ponto específico (usando o comando write user pts/1).
Isso é possível de alguma forma? Não tenho ideia por onde começar.
Responder1
Acho que você está complicando demais as coisas.
Aqui está uma maneira rápida de solicitar um número e enviar uma mensagem para esse terminal:
#!/bin/bash
function getNumber()
{
pattern="[1-3]"
echo "Enter a number between 1 and 3"
read number
if [[ ! "$number" =~ $pattern ]]; then
echo "Wrong number"
getNumber
fi
}
getNumber
echo "Hello pts$number" > /dev/pts/$number
Exemplos de execução abaixo:
./pts.sh
Enter a number between 1 and 3
0
Wrong number
Enter a number between 1 and 3
4
Wrong number
Enter a number between 1 and 3
1
Após a entrada correta ( 1
acima), recebo esta saída em /dev/pts/1
:
[maulinglawns@ArchLinux slask]$ tty
/dev/pts/1
[maulinglawns@ArchLinux slask]$ Hello pts1