The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Procesos y Usuarios Barbus Programación de scripts de shell y 22 10-03-2007 08:09 PM
usuarios y procesos Iago UNIX for Dummies Preguntas y Respuestas 3 09-10-2007 03:51 PM
i scipt necesita un correo electrónico a los usuarios con los procesos de inactividad? sheppy28 Programación de scripts de shell y 0 02-02-2007 04:08 PM
Viendo los procesos de los usuarios olimiles Programación de scripts de shell y 2 08-18-2006 03:57 PM
Los usuarios y los procesos Chiefos UNIX for Dummies Preguntas y Respuestas 17 06-17-2006 05:16 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 04-28-2008
sam4now sam4now is offline
Usuario Registrado
  
 

Fecha: abril 2008
Puestos: 23
impresión de cada uno de los usuarios por los procesos de

hola todos,

Estoy tratando de obtener los usuarios por cada con su procesamiento. Tengo que tratar de varias maneras, pero no estoy obteniendo mi código es su

#! bin / bash /
usuarios \u003d `cat / etc / passwd | cut-d ':'-f5»
\u003d `onlineusers usuarios | tr '." '' `
$ onlineusers | while read `$ usuarios»
hacer
echo "ps-U $ usuarios»
hecho

pero no su trabajo, la raíz: dice command not found

PLS modo alguno a su alrededor.
  #2 (Enlace permanente)  
Old 04-28-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
La sintaxis correcta es


Código:
while read users

Lo que tienes trata de evaluar el valor de $ usuarios como un comando, por lo que obtener "root: command not found" (porque es el primer usuario root, así que es el comando, y el resto de los usuarios se pasan como argumentos a este comando).

¿Por qué los usuarios de extraer el archivo / etc / passwd cuando usted termina de leer usuarios? En mi sistema, usuarios imprime el mismo usuario varias veces si se registran en varias ocasiones, lo que podría no ser lo que usted desea.

Aquí está toda la secuencia de comandos con los problemas corregidos:


Código:
#!/bin/bash
users | tr '. ' '
' | sort -u | while read user
do
  ps -U "$user"
done

El segundo argumento a tr es una nueva línea dentro de comillas simples; cotización de apertura, fin de línea, nueva línea, el cierre de cotización. Sí, eso es una cadena válida en bash (y sh general). Esto rompe la salida de usuarios en varias líneas para que podamos sort-u para deshacerse de cualquier duplicados.

La salida de usuarios Ubuntu en mi caja no tiene puntos en el mismo, pero tal vez la suya es diferente.

También tomé la (por lo que pude decirle) echo `backticks gratuita» y la asignación temporal de la salida de los usuarios a una variable que sólo se utiliza una vez. Ah, y fija la línea shebang - no debe haber barra después de bash, y antes de una caja.

Editado por última época; al 04-28-2008 04:16 PM.. Motivo: Roza antes bin
  #3 (Enlace permanente)  
Old 04-28-2008
sam4now sam4now is offline
Usuario Registrado
  
 

Fecha: abril 2008
Puestos: 23
volver

Gracias época

U han tratado el código, no es mi trabajo en las minas.

Estoy tratando de obtener en línea los REAL NOMBRE USUARIO y no la correspondencia con sus procesos. Usando el etc / passwd que obtener el nombre
pero comparándolo con los usuarios en línea es el poco complicado.
  #4 (Enlace permanente)  
Old 04-28-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
Sí, he probado aquí (pero sólo después de que usted solicitó). Sólo tengo un usuario así que no es un caso de prueba muy exhaustiva.

¿Se obtiene un error, o no hacer lo que usted espera?

¿Dónde quiere que el nombre real que se va a mostrar?


Código:
#!/bin/bash
users | tr '. ' '
' | sort -u | while read user
do
  sed -n "s/:[^:]*:[^:]*$//;s/^$user:[^:]*:[^:]*:[^:]*://p" /etc/passwd
  ps -U "$user"
done

El sed guión es el equivalente moral de grep "^ $ usuario:" / etc / passwd | cut-d:-f5 que es, sin duda, más legible. Tal vez desee utilizar en lugar de que, en realidad.

Editado por última época; al 04-28-2008 04:42 PM.. Motivo: Explicación de la alternativa a la sed y la escritura
  #5 (Enlace permanente)  
Old 04-28-2008
sam4now sam4now is offline
Usuario Registrado
  
 

Fecha: abril 2008
Puestos: 23
Gracias por la respuesta era
Pero sigo teniendo el error no se encuentra el nombre de usuario y algunas de este en contra de cada usuario


Simple selección ********* ********* ********* ********* lista de selección
-A todos los procesos-por el nombre del comando C
-N-G anular la selección de ID de grupo real (compatible con los nombres)
-a todos los w / tty período de sesiones, salvo los dirigentes-U por ID de usuario real (compatible con los nombres)
d-todos excepto los dirigentes-g sesión por sesión o por el nombre del grupo eficaz
-e-p todos los procesos de ID de proceso
T a todos los procesos de esta terminal-s los procesos en los períodos de sesiones dado
un todo w / tty, incluyendo a otros usuarios por tty-t
g OBSOLETO - NO USE-u efectivas ID de usuario (nombres apoya)
r sólo procesos que se están ejecutando procesos de U para usuarios específicos
x procesos w / o por no controlar ttys tty
*********** ********** *********** Formato de salida de las opciones a largo ***********
-o, o definidos por el usuario-f completo - Grupo - Usuario - pid - cols - PPID
-j, s j trabajo de control de la señal - grupo - el usuario - sid - filas - info
-O, O precargado-vo de memoria virtual - acumulado - formato - deseleccionar
-l, l largo u orientadas al usuario - sort - tty - Bosque - versión
-F extra plena registros X - partida - no-partida - contexto
********* ********* Misc opciones
-V, V muestra la versión L formato de lista de códigos ASCII art f forestal
-m, m,-L,-T, H threads S niños en suma-y-l cambiar el formato
-M, la Z de seguridad de datos c verdadero nombre del comando-c programación de clase
-w, w amplia salida n numérico WCHAN, UID-H proceso jerarquía
  #6 (Enlace permanente)  
Old 04-28-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
¿Qué significa la salida de usuarios parecen en su sistema? Plataforma que es esto?
Closed Thread

Marcadores

Etiquetas
linux, ubuntu

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 05:54 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0