Script bash process by user

Résolu
kamax -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour, je voudrai faire un script en bash qui m'affiche pour chaque utilisateur la liste de leur processus actifs.
Pouvez-vous m'expliquer le problème que je rencontre avec sed et awk? Ainsi que résoudre le problème de l'affichage en utilisant "header" comme nom de champ

voici mon script :

#!/bin/bash
connected_people=`who | cut -f1 -d' ' | uniq`
header=`ps|head -1`

for name in $connected_people
do
#nom=`tr "." " " $name` <= quel est le problème ici?
echo "----------------------------------------------"
nom=`sed '$name s/*[.]*\./*[ ]*/'` <= erreur
echo $nom
proc=`ps U $name`
process=`awk -F" " {print $1 $2 $4 $5} < $proc` <= erreur (je souhaite n'afficher que les champ 1,2,4,5)
echo $header
echo $process
echo "----------------------------------------------"
done

Merci pour votre aide.
Configuration: Windows XP
Opera 9.23

6 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    #nom=`tr "." " " $name` <= quel est le problème ici?
    nom=$( echo ${name} | tr "." " ")

    nom=`sed '$name s/*[.]*\./*[ ]*/'` <= erreur
    nom=$(echo ${name} | sed 's/\./ /')

    process=`awk -F" " {print $1 $2 $4 $5} < $proc`
    process=$(awk -F" " '{ print $1,$2,$4,$5 }' < <(ps U ${name}))
    Essaye ça :
    #!/bin/bash
    connected_people=$(who | cut -f1 -d' ' | sort -u)
    
    
    for name in ${connected_people}
    do
    
    echo "----------------------------------------------"
    
    echo ${name/./ }
    echo
    echo $(awk -F" " '{ printf "%s\t%s\t%s\t%s\n", $1,$2,$4,$5 }' < <(ps U ${name}))
    
    echo "----------------------------------------------"
    done
    
    ;-))
    0
  2. kamax
     
    merci pour les explications. Cependant, j'ai encore quelques erreurs. Voici les messages sur le prompt :

    process_users: command substitution: line 10: syntax error near unexpected token `('
    process_users: command substitution: line 10: `awk -F" " '{ printf "%s\t%s\t%s\t%s\n", $1,$2,$4,$5 }' <<(ps U ${name})'
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    J'ai pas d'erreur chez moi, par contre j'ai oublié de quotter l'expression :
    echo "$(awk -F" " '{ printf "%s\t%s\t%s\t%s\n", $1,$2,$4,$5 }' < <(ps U ${name}))"
    T'as bien mis les 2 parenthèses fermantes en fin d'expression ?
    Essaye l'expression dans un shell interactif. Crées une variable :
    name=$USER
    et lances la commande :
    echo "$(awk -F" " '{ printf "%s\t%s\t%s\t%s\n", $1,$2,$4,$5 }' < <(ps U ${name}))"
    et dis-moi si ça marche...
    0
  4. kamax
     
    J'ai du m'absenter, désolé. Oui en effet, dans le prompt ça fonctionne, mais dans le script -certainement un problème dans la boucle- ça ne fonctionne pas et ça me remet encore la même erreur :

    process_users: command substitution: line 10: syntax error near unexpected token `('
    process_users: command substitution: line 10: `awk -F" " '{ printf "%s\t%s\t%s\t%s\n", $1,$2,$4,$5 }' <<(ps U ${name})'
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Affiches ton script en entier ici s'il te plaît.
    Sinon, lances-le aussi en mode débogage, rajoute "set -xv" aprés la ligne shebang :
    #! /bin/bash
    set -xv
    tu auras déjà quelques indications sûrement.
    0
  7. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    pourquoi pas

    au lieu de
    lami20j@debian:~/trash$ ps U lami20j
      PID TTY      STAT   TIME COMMAND
     2681 ?        Ss     0:01 x-session-manager
     2724 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
     2727 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session x-session-manager
     2728 ?        Ss     0:00 /usr/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
     2756 ?        S      0:00 /usr/lib/libgconf2-4/gconfd-2 5
     2759 ?        S      0:00 /usr/bin/gnome-keyring-daemon
     2761 ?        Ss     0:00 /usr/lib/bonobo-activation/bonobo-activation-server --ac-activate --ior-output-fd=18
     2763 ?        Sl     0:09 /usr/lib/control-center/gnome-settings-daemon --oaf-activate-iid=OAFIID:GNOME_SettingsDaemon --oaf-ior-fd=26
     2773 ?        Ss     0:49 /usr/bin/metacity --sm-client-id=default0
     2781 ?        Ssl    0:08 gnome-panel --sm-client-id default1
     2783 ?        Ssl    0:10 nautilus --no-default-window --sm-client-id default2
     2787 ?        Ss     0:01 vino-session --sm-client-id default5
     2788 ?        Ss     0:00 gnome-volume-manager --sm-client-id default4
     2790 ?        Ss     0:00 bluetooth-applet
     2792 ?        Ss     0:46 /usr/bin/konsole
     2796 ?        Sl     0:01 /usr/lib/gnome-vfs-2.0/gnome-vfs-daemon --oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_Factory --oaf-ior-fd=32
     2800 ?        Ss     0:05 update-notifier
     2812 ?        S      0:05 /usr/lib/gnome-panel/clock-applet --oaf-activate-iid=OAFIID:GNOME_ClockApplet_Factory --oaf-ior-fd=34
     2817 ?        S      0:00 /usr/lib/nautilus-cd-burner/mapping-daemon
     2825 ?        Ss     0:00 kdeinit Running...
     2831 ?        S      0:00 dcopserver [kdeinit] --nosid --suicide
     2836 ?        S      0:00 klauncher [kdeinit]
     2838 ?        S      0:05 kded [kdeinit]
     2845 ?        S      0:00 /usr/lib/gnome-panel/notification-area-applet --oaf-activate-iid=OAFIID:GNOME_NotificationAreaApplet_Factory --oaf-ior-fd=38
     2847 ?        S      0:06 /usr/lib/gnome-panel/wnck-applet --oaf-activate-iid=OAFIID:GNOME_Wncklet_Factory --oaf-ior-fd=39
     2849 ?        S      0:04 /usr/lib/gnome-applets/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory --oaf-ior-fd=40
     2852 pts/0    Ss     0:00 /bin/bash
     2872 ?        Ss     0:14 gnome-screensaver
     2882 pts/0    Sl    52:46 /usr/lib/iceweasel/firefox-bin -a firefox
     3049 ?        S      0:05 /usr/lib/notification-daemon/notification-daemon
     3216 ?        S      0:11 knotify [kdeinit]
     3219 ?        S      0:02 /usr/bin/artsd -F 10 -S 4096 -s 60 -m artsmessage -l 3 -f
     4683 pts/0    SLl   60:18 kaffeine
     4686 ?        S      0:00 kio_file [kdeinit] file /tmp/ksocket-lami20j/klauncherDFmrjb.slave-socket /tmp/ksocket-lami20j/kaffeineKfxC2b.slave-socket
     4896 pts/1    Ss     0:00 /bin/bash
     5201 pts/0    S+     0:00 vi ccm.pl
     5601 pts/1    S      0:59 scite
     5946 pts/1    R+     0:00 ps U lami20j
    
    tu n'utilise pas
    lami20j@debian:~/trash$ ps -o pid,tty,time,cmd -U lami20j
      PID TT           TIME CMD
     2681 ?        00:00:01 x-session-manager
     2724 ?        00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager
     2727 ?        00:00:00 /usr/bin/dbus-launch --exit-with-session x-session-manager
     2728 ?        00:00:00 /usr/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
     2756 ?        00:00:00 /usr/lib/libgconf2-4/gconfd-2 5
     2759 ?        00:00:00 /usr/bin/gnome-keyring-daemon
     2761 ?        00:00:00 /usr/lib/bonobo-activation/bonobo-activation-server --ac-activate --ior-output-fd=18
     2763 ?        00:00:09 /usr/lib/control-center/gnome-settings-daemon --oaf-activate-iid=OAFIID:GNOME_SettingsDaemon --oaf-ior-fd=26
     2773 ?        00:00:49 /usr/bin/metacity --sm-client-id=default0
     2781 ?        00:00:08 gnome-panel --sm-client-id default1
     2783 ?        00:00:10 nautilus --no-default-window --sm-client-id default2
     2787 ?        00:00:01 vino-session --sm-client-id default5
     2788 ?        00:00:00 gnome-volume-manager --sm-client-id default4
     2790 ?        00:00:00 bluetooth-applet
     2792 ?        00:00:46 /usr/bin/konsole
     2796 ?        00:00:01 /usr/lib/gnome-vfs-2.0/gnome-vfs-daemon --oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_Factory --oaf-ior-fd=32
     2800 ?        00:00:05 update-notifier
     2812 ?        00:00:05 /usr/lib/gnome-panel/clock-applet --oaf-activate-iid=OAFIID:GNOME_ClockApplet_Factory --oaf-ior-fd=34
     2817 ?        00:00:00 /usr/lib/nautilus-cd-burner/mapping-daemon
     2825 ?        00:00:00 kdeinit Running...
     2831 ?        00:00:00 dcopserver [kdeinit] --nosid --suicide
     2836 ?        00:00:00 klauncher [kdeinit]
     2838 ?        00:00:05 kded [kdeinit]
     2845 ?        00:00:00 /usr/lib/gnome-panel/notification-area-applet --oaf-activate-iid=OAFIID:GNOME_NotificationAreaApplet_Factory --oaf-ior-fd=38
     2847 ?        00:00:06 /usr/lib/gnome-panel/wnck-applet --oaf-activate-iid=OAFIID:GNOME_Wncklet_Factory --oaf-ior-fd=39
     2849 ?        00:00:04 /usr/lib/gnome-applets/mixer_applet2 --oaf-activate-iid=OAFIID:GNOME_MixerApplet_Factory --oaf-ior-fd=40
     2852 pts/0    00:00:00 /bin/bash
     2872 ?        00:00:14 gnome-screensaver
     2882 pts/0    00:52:50 /usr/lib/iceweasel/firefox-bin -a firefox
     3049 ?        00:00:05 /usr/lib/notification-daemon/notification-daemon
     3216 ?        00:00:11 knotify [kdeinit]
     3219 ?        00:00:02 /usr/bin/artsd -F 10 -S 4096 -s 60 -m artsmessage -l 3 -f
     4683 pts/0    01:00:23 kaffeine
     4686 ?        00:00:00 kio_file [kdeinit] file /tmp/ksocket-lami20j/klauncherDFmrjb.slave-socket /tmp/ksocket-lami20j/kaffeineKfxC2b.slave-socket
     4896 pts/1    00:00:00 /bin/bash
     5201 pts/0    00:00:00 vi ccm.pl
     5601 pts/1    00:00:59 scite
     5948 pts/1    00:00:00 ps -o pid,tty,time,cmd -U lami20j
    
    lami20j@debian:~/trash$ ps -o pid,tty,time,comm -U lami20j
      PID TT           TIME COMMAND
     2681 ?        00:00:01 x-session-manag
     2724 ?        00:00:00 ssh-agent
     2727 ?        00:00:00 dbus-launch
     2728 ?        00:00:00 dbus-daemon
     2756 ?        00:00:00 gconfd-2
     2759 ?        00:00:00 gnome-keyring-d
     2761 ?        00:00:00 bonobo-activati
     2763 ?        00:00:09 gnome-settings-
     2773 ?        00:00:49 metacity
     2781 ?        00:00:08 gnome-panel
     2783 ?        00:00:10 nautilus
     2787 ?        00:00:01 vino-session
     2788 ?        00:00:00 gnome-volume-ma
     2790 ?        00:00:00 bluetooth-apple
     2792 ?        00:00:47 konsole
     2796 ?        00:00:01 gnome-vfs-daemo
     2800 ?        00:00:05 update-notifier
     2812 ?        00:00:05 clock-applet
     2817 ?        00:00:00 mapping-daemon
     2825 ?        00:00:00 kdeinit
     2831 ?        00:00:00 dcopserver
     2836 ?        00:00:00 klauncher
     2838 ?        00:00:05 kded
     2845 ?        00:00:00 notification-ar
     2847 ?        00:00:06 wnck-applet
     2849 ?        00:00:04 mixer_applet2
     2852 pts/0    00:00:00 bash
     2872 ?        00:00:14 gnome-screensav
     2882 pts/0    00:52:54 firefox-bin
     3049 ?        00:00:05 notification-da
     3216 ?        00:00:11 knotify
     3219 ?        00:00:02 artsd
     4683 pts/0    01:00:29 kaffeine
     4686 ?        00:00:00 kio_file
     4896 pts/1    00:00:00 bash
     5201 pts/0    00:00:00 vi
     5601 pts/1    00:00:59 scite
     5949 pts/1    00:00:00 ps
    
    0