Exercice en shell
Résolu/Fermé
yacine
-
11 mai 2007 à 12:46
makoko Messages postés 53 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 25 novembre 2012 - 12 févr. 2008 à 03:32
makoko Messages postés 53 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 25 novembre 2012 - 12 févr. 2008 à 03:32
A voir également:
- Exercice en shell
- Classic shell windows 11 - Télécharger - Personnalisation
- Shell startup windows 10 - Guide
- Efi shell version 2.31 - Forum Programmation
- Ssh secure shell download - Télécharger - Divers Web & Internet
- Classic shell c'est quoi ✓ - Forum Windows 8 / 8.1
48 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 févr. 2008 à 07:36
9 févr. 2008 à 07:36
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 11:06
9 févr. 2008 à 11:06
salut!
Mais je le voudrais sans, sed et awk!
Peux-tu donner un coup de main ?
j'essaye de comprendre, ceux des scripts que toi et jipi,ont proposé, pour tenter de les modifier.
merci tout de même
a+
Mais je le voudrais sans, sed et awk!
Peux-tu donner un coup de main ?
j'essaye de comprendre, ceux des scripts que toi et jipi,ont proposé, pour tenter de les modifier.
merci tout de même
a+
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 févr. 2008 à 11:21
9 févr. 2008 à 11:21
essaie
for i in $(who | cut -d" " -f1 | uniq);do echo -e "$i\n";ps U $i;done
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 12:31
9 févr. 2008 à 12:31
salut!
alors, je pense que c'est quelque comme cela en effet,mais pour le moment, voici que ce j'obtiens : dernier script:
for i in $(who | cut -d" " -f1 | uniq);do echo -e "$i\n";ps U $i;done
------------------------------------
toi
PID TTY STAT TIME COMMAND
14926 ? S 0:00 sshd: toi@pts/2
14927 pts/2 Ss+ 0:00 -bash
moi
PID TTY STAT TIME COMMAND
14956 ? S 0:00 sshd: moi@pts/3
14957 pts/3 Ss 0:00 -bash
15080 pts/3 S+ 0:00 sh jou
15086 pts/3 R+ 0:00 ps U moi
OBSERVATION :
J'aurais voulu, uniquement mes applis (CMD), sans mon login (moi), mais avec mon nom réel affiché en haut, à le place de moi ou toi.
MODIFICATION : Serait-il possible de descendre le nom réel deux lignes en dessus, pour que l'affichage ressemble à cela:
nono
PID TTY TIME CMD
31799 pts/3 00:00:00 vim
31866 pts/3 00:00:00 vim
2495 pts/7 00:00:00 vim
8368 pts/0 00:00:00 vim
9544 pts/2 00:00:00 ps
j'avais essayé ceci avant : echo -e " $USER\n"; ps # évidemment, je n'avais pas mis WHO, donc il n'y avait que, moi.
moi
PID TTY TIME CMD
9339 pts/1 00:00:00 bash
9966 pts/1 00:00:00 ps
dans le lien que tu m'a envoyé, j'ai essayé de modifier ton script, voici ce que j'obtiens:
ps -o pid,tty,time,comm -U lami20j > echo $USER; ps -o pid, tty, time, comm # > : pour 'modifier en'
résultat:
moi
PID TT TIME COMMAND
14957 pts/3 00:00:00 bash
15125 pts/3 00:00:00 ps
REM. : c'est déjà mieux pour la structure de présentation (moi,juste au dessus), mais problèmes :
1. moi, nom de login
2. pourquoi il affiche TT et non TTY
3. si on pouvait aligner PID à gauche sans décaler trop les autres headers, ce serait bien.
merci pour ton aide
la recherche continue
a+
alors, je pense que c'est quelque comme cela en effet,mais pour le moment, voici que ce j'obtiens : dernier script:
for i in $(who | cut -d" " -f1 | uniq);do echo -e "$i\n";ps U $i;done
------------------------------------
toi
PID TTY STAT TIME COMMAND
14926 ? S 0:00 sshd: toi@pts/2
14927 pts/2 Ss+ 0:00 -bash
moi
PID TTY STAT TIME COMMAND
14956 ? S 0:00 sshd: moi@pts/3
14957 pts/3 Ss 0:00 -bash
15080 pts/3 S+ 0:00 sh jou
15086 pts/3 R+ 0:00 ps U moi
OBSERVATION :
J'aurais voulu, uniquement mes applis (CMD), sans mon login (moi), mais avec mon nom réel affiché en haut, à le place de moi ou toi.
MODIFICATION : Serait-il possible de descendre le nom réel deux lignes en dessus, pour que l'affichage ressemble à cela:
nono
PID TTY TIME CMD
31799 pts/3 00:00:00 vim
31866 pts/3 00:00:00 vim
2495 pts/7 00:00:00 vim
8368 pts/0 00:00:00 vim
9544 pts/2 00:00:00 ps
j'avais essayé ceci avant : echo -e " $USER\n"; ps # évidemment, je n'avais pas mis WHO, donc il n'y avait que, moi.
moi
PID TTY TIME CMD
9339 pts/1 00:00:00 bash
9966 pts/1 00:00:00 ps
dans le lien que tu m'a envoyé, j'ai essayé de modifier ton script, voici ce que j'obtiens:
ps -o pid,tty,time,comm -U lami20j > echo $USER; ps -o pid, tty, time, comm # > : pour 'modifier en'
résultat:
moi
PID TT TIME COMMAND
14957 pts/3 00:00:00 bash
15125 pts/3 00:00:00 ps
REM. : c'est déjà mieux pour la structure de présentation (moi,juste au dessus), mais problèmes :
1. moi, nom de login
2. pourquoi il affiche TT et non TTY
3. si on pouvait aligner PID à gauche sans décaler trop les autres headers, ce serait bien.
merci pour ton aide
la recherche continue
a+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 févr. 2008 à 12:38
9 févr. 2008 à 12:38
et ça?
for i in $(who | cut -d" " -f1 | uniq);do echo -e "$i\n";ps -o pid,tty,time,comm -U $i;done
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 12:46
9 févr. 2008 à 12:46
si j'enlève dans ce script :
for i in $(who | cut -d" " -f1 | uniq);do echo -e "$i\n";ps U $i;done , le saut ligne, moi, descend :ok
cependant, j'ai toujours, bien sûr :
1.mon login
2.STAT
3. mon login (dernière au moins: U moi), mais je ne l'ai pas pour toi, juste son login, à la 2è ligne
Question : est-ce normal, d'avoir plus que la CMD?
a) 2è ligne pour moi
b ) 2è ligne pour toi
moi
PID TTY STAT TIME COMMAND
15144 ? S 0:00 sshd: moi@pts/1
15145 pts/1 Ss 0:00 -bash
15251 pts/1 S+ 0:00 sh for
15256 pts/1 R+ 0:00 ps U moi
toi
PID TTY STAT TIME COMMAND
15174 ? S 0:00 sshd: toi@pts/2
15175 pts/2 Ss+ 0:00 -bash
La recherche continue
a+
for i in $(who | cut -d" " -f1 | uniq);do echo -e "$i\n";ps U $i;done , le saut ligne, moi, descend :ok
cependant, j'ai toujours, bien sûr :
1.mon login
2.STAT
3. mon login (dernière au moins: U moi), mais je ne l'ai pas pour toi, juste son login, à la 2è ligne
Question : est-ce normal, d'avoir plus que la CMD?
a) 2è ligne pour moi
b ) 2è ligne pour toi
moi
PID TTY STAT TIME COMMAND
15144 ? S 0:00 sshd: moi@pts/1
15145 pts/1 Ss 0:00 -bash
15251 pts/1 S+ 0:00 sh for
15256 pts/1 R+ 0:00 ps U moi
toi
PID TTY STAT TIME COMMAND
15174 ? S 0:00 sshd: toi@pts/2
15175 pts/2 Ss+ 0:00 -bash
La recherche continue
a+
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 12:54
9 févr. 2008 à 12:54
nickel ! en enlevant le saut de ligne, mais toujours :
1. TT au lieu de TTY
2. PID pas assez à droite,mais bon, je peux laisser tomber cela.
moi
PID TT TIME COMMAND
15144 ? 00:00:00 sshd
15145 pts/1 00:00:00 bash
15302 pts/1 00:00:00 sh
15307 pts/1 00:00:00 ps
toi
PID TT TIME COMMAND
15174 ? 00:00:00 sshd
15175 pts/2 00:00:00 bash
15299 pts/2 00:00:00 more
REM. : peut-être un peu plus d'espace entre les connectés ( 1 ou 2 lignes), mais bon, je peux laisser aussi tomber.
la recherche continue au moins pour TTY
merci
A tout à l'heure
1. TT au lieu de TTY
2. PID pas assez à droite,mais bon, je peux laisser tomber cela.
moi
PID TT TIME COMMAND
15144 ? 00:00:00 sshd
15145 pts/1 00:00:00 bash
15302 pts/1 00:00:00 sh
15307 pts/1 00:00:00 ps
toi
PID TT TIME COMMAND
15174 ? 00:00:00 sshd
15175 pts/2 00:00:00 bash
15299 pts/2 00:00:00 more
REM. : peut-être un peu plus d'espace entre les connectés ( 1 ou 2 lignes), mais bon, je peux laisser aussi tomber.
la recherche continue au moins pour TTY
merci
A tout à l'heure
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 févr. 2008 à 13:06
9 févr. 2008 à 13:06
voilà pour TTY (tname au lieu de tt)
for i in $(who | cut -d" " -f1 | uniq);do echo -e "$i\n";ps -opid,tname,time,comm -U $i;done
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 13:12
9 févr. 2008 à 13:12
et bien sûr, mon login est toujours là, et non mon nom réel ! SAT a disparu, ouf!
et j'ajoute pour ta gloire! l'alignement en sortie est nickel, ce que ne reflète pas ma capture d'écran : voici le vrai alignement à l'écran, en sortie:
moi
PID TT TIME COMMAND
15144 ? 00:00:00 sshd
15145 pts/1 00:00:00 bash
15302 pts/1 00:00:00 sh
15307 pts/1 00:00:00 ps
toi
PID TT TIME COMMAND
15174 ? 00:00:00 sshd
15175 pts/2 00:00:00 bash
15299 pts/2 00:00:00 more
la recherche continue
a+
et j'ajoute pour ta gloire! l'alignement en sortie est nickel, ce que ne reflète pas ma capture d'écran : voici le vrai alignement à l'écran, en sortie:
moi
PID TT TIME COMMAND
15144 ? 00:00:00 sshd
15145 pts/1 00:00:00 bash
15302 pts/1 00:00:00 sh
15307 pts/1 00:00:00 ps
toi
PID TT TIME COMMAND
15174 ? 00:00:00 sshd
15175 pts/2 00:00:00 bash
15299 pts/2 00:00:00 more
la recherche continue
a+
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 févr. 2008 à 13:15
9 févr. 2008 à 13:15
consulte man ps sur ton système
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 13:20
9 févr. 2008 à 13:20
nickel pour TTY !
Mais comme une épine dans le pied, il reste mon login, au lieu de mon nom réel !
capture écran :
moi
PID TTY TIME COMMAND
15144 ? 00:00:00 sshd
15145 pts/1 00:00:00 bash
15302 pts/1 00:00:00 sh
15307 pts/1 00:00:00 ps
toi
PID TTY TIME COMMAND
15174 ? 00:00:00 sshd
15175 pts/2 00:00:00 bash
15299 pts/2 00:00:00 more
merci
a+
Mais comme une épine dans le pied, il reste mon login, au lieu de mon nom réel !
capture écran :
moi
PID TTY TIME COMMAND
15144 ? 00:00:00 sshd
15145 pts/1 00:00:00 bash
15302 pts/1 00:00:00 sh
15307 pts/1 00:00:00 ps
toi
PID TTY TIME COMMAND
15174 ? 00:00:00 sshd
15175 pts/2 00:00:00 bash
15299 pts/2 00:00:00 more
merci
a+
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
9 févr. 2008 à 13:39
9 févr. 2008 à 13:39
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 févr. 2008 à 13:24
9 févr. 2008 à 13:24
affiche
cat /etc/passwd
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 13:29
9 févr. 2008 à 13:29
j'étais justement là-dessus, pour essayer de comprendre, comment résoudre ce problème de nom réel et login.
question : en mode asp, comment faire pour copier en local, man ps, par ex.
merci d'avance
a+
question : en mode asp, comment faire pour copier en local, man ps, par ex.
merci d'avance
a+
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 13:34
9 févr. 2008 à 13:34
je vois beaucoup de monde! c'est une formation en ligne ...
Mais il n'y a que moi, de connecté, en ce moment (w)
a+
Mais il n'y a que moi, de connecté, en ce moment (w)
a+
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 13:35
9 févr. 2008 à 13:35
au fait, pourquoi je devais faire cela ?
a+
a+
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 13:57
9 févr. 2008 à 13:57
en fait, il faudrait pouvoir extraire mon nom de la sortie de la cmd: grep $USER < /etc/passwd :
moi:x:1553:100:Mon nom:/home/moi:/bin/bash
ou même de finger :moi Mon nom pts/1 Feb 9 11:05
je pensais à cut, mais il y a déjà un cut: mettre un 2è demande réflexion!
a+
moi:x:1553:100:Mon nom:/home/moi:/bin/bash
ou même de finger :moi Mon nom pts/1 Feb 9 11:05
je pensais à cut, mais il y a déjà un cut: mettre un 2è demande réflexion!
a+
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
9 févr. 2008 à 14:00
9 févr. 2008 à 14:00
Voir post #39
Sinon tu peux aussi :
Édit : Oups ;-((
Sinon tu peux aussi :
finger -sp $USER | tail -1 | tr -s "[ ]*" ":" | cut -d: -f2Mais c'est plus tordu ;-))
Édit : Oups ;-((
finger -sp $USER | tail -1 | tr -s "[ ]" ":" | cut -d: -f2;-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 févr. 2008 à 14:09
9 févr. 2008 à 14:09
comme ça?!
for i in $(grep "$(who | cut -d' ' -f1)" /etc/passwd);do echo -e "$i\n" | cut -d':' -f5;ps -opid,tname,time,comm -U ${i%%:*};done
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 14:54
9 févr. 2008 à 14:54
lami, ton script
résultat, extrait: et cela après chaque connecté, prénom affiché seulement.
Donald
PID TTY TIME COMMAND
15762 ? 00:00:00 sshd
15763 pts/4 00:00:00 bash
15786 pts/4 00:00:00 sqlplus
15787 ? 00:00:04 oracle
ERROR: User name does not exist.
********* simple selection ********* ********* selection by list *********
-A all processes -C by command name
-N negate selection -G by real group ID (supports names)
-a all w/ tty except session leaders -U by real user ID (supports names)
-d all except session leaders -g by session OR by effective group name
-e all processes -p by process ID
T all processes on this terminal -s processes in the sessions given
a all w/ tty, including other users -t by tty
g OBSOLETE -- DO NOT USE -u by effective user ID (supports names)
r only running processes U processes for specified users
x processes w/o controlling ttys t by tty
*********** output format ********** *********** long options ***********
-o,o user-defined -f full --Group --User --pid --cols --ppid
-j,j job control s signal --group --user --sid --rows --info
-O,O preloaded -o v virtual memory --cumulative --format --deselect
-l,l long u user-oriented --sort --tty --forest --version
-F extra full X registers --heading --no-heading --context
********* misc options *********
-V,V show version L list format codes f ASCII art forest
-m,m,-L,-T,H threads S children in sum -y change -l format
-M,Z security data c true command name -c scheduling class
-w,w wide output n numeric WCHAN,UID -H process hierarchy
jipi :
résultat : seulement le prénom est affiché :
prénom (un seul, le mien)
j'essaye de comprendre le message d'erreur et d'en tirer profit
merci de votre contribution
La recherche continue
a+
résultat, extrait: et cela après chaque connecté, prénom affiché seulement.
Donald
PID TTY TIME COMMAND
15762 ? 00:00:00 sshd
15763 pts/4 00:00:00 bash
15786 pts/4 00:00:00 sqlplus
15787 ? 00:00:04 oracle
ERROR: User name does not exist.
********* simple selection ********* ********* selection by list *********
-A all processes -C by command name
-N negate selection -G by real group ID (supports names)
-a all w/ tty except session leaders -U by real user ID (supports names)
-d all except session leaders -g by session OR by effective group name
-e all processes -p by process ID
T all processes on this terminal -s processes in the sessions given
a all w/ tty, including other users -t by tty
g OBSOLETE -- DO NOT USE -u by effective user ID (supports names)
r only running processes U processes for specified users
x processes w/o controlling ttys t by tty
*********** output format ********** *********** long options ***********
-o,o user-defined -f full --Group --User --pid --cols --ppid
-j,j job control s signal --group --user --sid --rows --info
-O,O preloaded -o v virtual memory --cumulative --format --deselect
-l,l long u user-oriented --sort --tty --forest --version
-F extra full X registers --heading --no-heading --context
********* misc options *********
-V,V show version L list format codes f ASCII art forest
-m,m,-L,-T,H threads S children in sum -y change -l format
-M,Z security data c true command name -c scheduling class
-w,w wide output n numeric WCHAN,UID -H process hierarchy
jipi :
résultat : seulement le prénom est affiché :
prénom (un seul, le mien)
j'essaye de comprendre le message d'erreur et d'en tirer profit
merci de votre contribution
La recherche continue
a+
makoko
Messages postés
53
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
25 novembre 2012
9 févr. 2008 à 14:56
9 févr. 2008 à 14:56
je regarde post 39.
a+
a+
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
9 févr. 2008 à 14:57
9 févr. 2008 à 14:57
chez moi fonctionne
ça sera bien si tu montreras aussi les commandes que tu tapes, pour voir s'il n'y a pas une erreur quelque part
ça sera bien si tu montreras aussi les commandes que tu tapes, pour voir s'il n'y a pas une erreur quelque part