Aquí vamos a ver Encontrar en cuántos terminales ha iniciado sesión el usuario. Usando el comando who para obtener la lista de usuarios y luego usando el comando grep podemos encontrar el número de Terminal que el usuario ha iniciado sesión en Linux. Podemos usar LOGNAME o UID para identificar al usuario. UID es una identificación de usuario única asignada a cada usuario que inició sesión en el sistema, es un valor entero. El LOGNAME es el nombre de usuario único del usuario, puede ser alfanumérico.
Podemos usar el siguiente comando para saber el nombre de usuario del actual y su ID de usuario:
Para nombre de usuario/NOMBRE DE REGISTRO
echo $LOGNAME
Producción:
Para UID (ID de usuario):
id -u
Aquí, -u representa que estamos interesados en el ID de usuario.
Producción:
Acercarse :
- Tomando entrada de la Terminal
- Compruebe si la entrada es UID o LOGNAME
- En la lista de usuarios, encuentre todos los números de Terminal que se abren a través del UID de entrada.
- Luego lea el archivo passwd del directorio etc que contiene toda la información sobre los usuarios.
A continuación se muestra la implementación:
#! /bin/bash # Taking input from user echo "Enter LOGNAME OR UID" read input # checking if input is a UID or LOGNAME if [[ $input ]] && [ $input -eq $input 2>/dev/null ] # If input is UID then echo "Number of terminals are " cat /etc/passwd | grep $input -c # If input is LOGNAME else cat /etc/passwd>userlist echo "Number of terminals are " grep -c $input userlist fi
Producción:
Publicación traducida automáticamente
Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA