
Digamos que tengo un archivo que tiene entradas,
Archivo:
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)
Quiero tener un bucle hasta que el usuario presione un número entre 1 y 3 (número de filas en ese archivo)
y cuando el usuario inserta 1, por ejemplo, quiero que el sistema envíe un mensaje a esos puntos específicos (usando el comando escribir usuario pts/1).
¿Es eso posible de alguna manera? No tengo idea de por dónde empezar.
Respuesta1
Creo que estás complicando demasiado las cosas.
A continuación se muestra una forma breve de solicitar un número y luego enviar un mensaje a esa 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
Ejemplos de ejecución a continuación:
./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
Tras la entrada correcta ( 1
arriba), obtengo este resultado en /dev/pts/1
:
[maulinglawns@ArchLinux slask]$ tty
/dev/pts/1
[maulinglawns@ArchLinux slask]$ Hello pts1