![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| 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 |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
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. |
|
||||
|
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 |
|
||||
|
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. |
|
||||
|
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 |
|
||||
|
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 |
|
||||
|
¿Qué significa la salida de usuarios parecen en su sistema? Plataforma que es esto?
|
![]() |
| Marcadores |
| Etiquetas |
| linux, ubuntu |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|