InicioLinuxShell Scripting en UNIX

Shell Scripting en UNIX

Linux9/14/2014
Buenas a todos

Quiero compartirles un pequeño post con un pequeño script que he realizado, el cual lista los usuarios con el numero de procesos que se estan corriendo sobre cada usuario. En este script se puede entender un poco temas como asignacion de variables, imprimir variables, uso de esructura de control While, uso de arreglos que es un tema muy importante y algo mas complejo. De este ejemplo pueden ver tambien como imprimir el valor de los vectores, recorriendo sus indices, etc.
Cualquier cosa que no entiendan por favor me lo comentan para tratar de resolver sus dudas
Buenas

#! bin/bash
NUMLINEAS=`ps -fea | awk '{print $1}' | sort | uniq -c | wc -l ## Guardamos el numero de lineas, con esto controlamos el indice de los vectores que se van a crear
USUARIOS=`ps -fea | awk '{print $1}' | sort | uniq -c | awk '{print $2}' ## Lista los usuarios
PROCESOS=`ps -fea | awk '{print $1}' | sort | uniq -c | awk '{print $1'} ## Lista el numero de procesos de los usuarios

Ahora como la idea es imprimir el numero de procesos por cada usuario, vamos a crear dos vectores, en el primer vector vamos a guardar lo que se guardo en la variable USUARIOS y en el segundo vector lo que se guarda en la variable PROCESOS.

VECTUSU=($USUARIOS)
VECTPROC=($PROCESOS)

Posteriormente, creamos una estructura de control WHILE, la cual va a recorrer cada vector con sus respectivos valores y nos imprime lo que queremos: Los usuarios y el numero de procesos que esta ejecutando cada uno:

i=0
while [$i -le $((NUMLINEAS-1))]; do
echo "El usuario ${VECTUSU[$i]} tiene corriendo ${VECTPROC[$i]} proceso(s)"
let i=$i+1
done

Con esto recorremos los vectores leyendo e imprimiendo.

Espero les haya gustado y les sirva como referencia para que puedan practicar o usarlos y sacar elementos para que hagan sus propios scripts.
Datos archivados del Taringa! original
15puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
7visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

B
Brioconner🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.