![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Processer og Brugere | Barbus | Shell Programmering og Scripting | 22 | 10-03-2007 08:09 PM |
| brugere, og der processer | iago | UNIX for dummyer Spørgsmål & svar | 3 | 09-10-2007 03:51 PM |
| Jeg har brug for en scipt til e-mail-brugere med tomgang processer!? | sheppy28 | Shell Programmering og Scripting | 0 | 02-02-2007 04:08 PM |
| Viser de processer af brugere | olimiles | Shell Programmering og Scripting | 2 | 08-18-2006 03:57 PM |
| Brugere og processer | Chiefos | UNIX for dummyer Spørgsmål & svar | 17 | 06-17-2006 05:16 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
trykning enkelte brugere af processer
Hej Alle,
Jeg forsøger at få de enkelte brugere, som med deres behandling. Jeg skal prøve det på flere måder, men jeg er ikke at få deres min kode er #! bin / bash / brugere \u003d `cat / etc / passwd | cut-d ':'-F5« onlineusers \u003d `brugere | tr ''. ' « $ onlineusers | mens læse `$ brugere« gøre echo `ps-U $ brugere« gjort men ikke arbejder, rod: det siger kommandoen blev ikke fundet pls nogen måde rundt om den. |
|
||||
|
Den korrekte syntaks er Code:
while read users Hvad har du forsøger at vurdere værdien af $ brugere som en kommando, hvorved du får "root: command not found" (fordi den første bruger er rod, så er den kommando, og resten af brugerne er vedtaget som argumenter for at denne kommando). Hvorfor gør du udpakker brugere fra / etc / passwd når du ender med at læse dem fra brugere? På mit system, brugere udskriver den samme bruger flere gange, hvis de er logget ind flere gange, hvilket måske ikke er, hvad du ønsker. Her er hele script med de problemer, fastsættes: Code:
#!/bin/bash users | tr '. ' ' ' | sort -u | while read user do ps -U "$user" done Det andet argument for at tr er en newline inde enkelt prisstillelser; åbning citerer slutningen af linjen, ny linje, lukke citerer. Ja, det er en gyldig streng i bash (og sh generelt). Dette bryder op produktionen af brugere på flere linjer, så vi kan sortere-u at slippe af med eventuelle dubletter. Produktionen af brugere på min Ubuntu box ikke har nogen fuldstændig stopper for det, men måske yours er anderledes. Jeg fandt også ud af det (så vidt jeg kunne fortælle) umotiveret ekko «backticks` og midlertidig ansættelse af produktionen af brugere til en variabel, der kun har brugt en gang. Åh, og jeg fastsat molevitten linje - der bør ikke være skråstreg efter bash, og en før bin. Sidst redigeret af æra; 04-28-2008 på 04:16 PM.. Årsag: Slash før bin |
|
||||
|
re
Takket æra
Har u forsøgte koden, dens ikke virker på min minen. Jeg forsøger at få individuelle online rigtige navn og ikke USERNAME med deres korrespondance processer. Bruge etc / passwd vil få navnet men at sammenligne det med brugere online er kompliceret bit. |
|
||||
|
Ja, jeg har prøvet det her (men kun når du har bedt om). Jeg har kun en bruger, så det er ikke en meget grundig test sag. Har du får en fejl, eller ikke, det gør, hvad du forventer? Hvor vil du have det rigtige navn, der skal vises? Code:
#!/bin/bash users | tr '. ' ' ' | sort -u | while read user do sed -n "s/:[^:]*:[^:]*$//;s/^$user:[^:]*:[^:]*:[^:]*://p" /etc/passwd ps -U "$user" done Den sed script er den moralske svarende til grep "^ $ bruger:" / etc / passwd | cut-d:-F5 der er velsagtens mere læsevenlig. Måske du vil bruge det i stedet, faktisk. Sidst redigeret af æra; 04-28-2008 på 04:42 PM.. Årsag: Forklaring af og alternativ til sed script |
|
||||
|
Tak for svaret æra
Men jeg stadig få fejl brugernavn ikke fundet, og nogle af denne mod hver bruger ********* Enkel udvælgelse ********* ********* udvælgelse af listen ********* -A alle processer-C ved kommando navn -N modbevise selection-G ved Real Group ID (understøtter navne) -a alle w / tty undtagen session ledere-U ved reelt bruger-id (understøtter navne) -d alle undtagen session ledere-g ved samling eller ved hjælp af effektive gruppens navn -e alle processer-p ved proces-id T alle processer i denne terminal-s processer i Samling given en alle w / tty, herunder andre brugere-t ved tty g Forældede - Brug ikke-u gennem effektiv bruger-id (understøtter navne) r kun kørende processer U processer til bestemte brugere x processer w / o kontrollerende ttys t ved tty *********** Outputformat ********** *********** længe valgmuligheder *********** -o, o bruger-defineret-f fuld - Gruppen - Bruger - pid - cols - ppid -J, J jobbet s signal - gruppe - user - sid - rækker - info -O, O forudindlæste-ov virtuel hukommelse - kumulative - format - fravælg -l, l længe u bruger-orienteret - Sorter - tty - skov - version -F ekstra fuld X registre - udgiftsområde - no-position - sammenhæng ********* Misc valgmuligheder ********* -V, V vise version L listeformat koder f ASCII art skov -m, m,-L,-T, H tråde S børn i sum-y ændre-l-format -M, Z sikkerhedsdata c sandt kommando navn-c fartplansperiode klasse -w, w bred output n numerisk WCHAN, UID-H proces hierarki |
![]() |
| Bogmærker |
| Tags |
| linux, ubuntu |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|