#1 Le 25/11/2012, à 11:07
- Bat_Tuc
Message a toute les personnes connecté.
Bonjour
A l'école nous travaillons sur un serveur qui nous ait dédié via un client ssh.
J'aimerais faire un script me permettant d'envoyé un message ( via write a priori .. ) a tous les utilisateurs connecté en meme temps que moi.
Pour récuperer la liste des connectés j'y arrive ( who avec un traitement via sed )
je fais une redirection dans un fichier dans lequel j'ai donc sur chaque ligne un utilisateur connecté.
C'est la que viens le probleme. je n'arrive pas a " passé en argument" de write ce fichier ..
faut il que je fasse un cat dessus ( avec un awk eventuellement ) ou je peux directement lui dire tu execute write pour toute les lignes de ce fichier ?
Je suis pas sur d'avoir été tres clair mais si quelqu'un peut m'aidé ca serait chouette
Un jour mon père m' a dit " fils, si ton programme tourne, c est qu il peut faire mieux ..."
Hors ligne
#2 Le 25/11/2012, à 11:11
- Bat_Tuc
Re : Message a toute les personnes connecté.
voila ou j'en suis pour le moment ..
U know who U R ->monlogin~ who | sed -e 's/^\([^[:blank:]]*\).*$/\1/g' > who
// j'enregistre les login dans le who
figlet 'Hey' | write | cat who
pour mes essai j'utilise le fichier moi dans lequel est seulement mon login.
mais meme resutlat.
je n'arrive pas a faire le lien entre le write et le contenu de moi who
Dernière modification par Bat_Tuc (Le 25/11/2012, à 11:12)
Un jour mon père m' a dit " fils, si ton programme tourne, c est qu il peut faire mieux ..."
Hors ligne
#3 Le 25/11/2012, à 11:14
- Bat_Tuc
Re : Message a toute les personnes connecté.
pour mes test j'ai aussi utilisé whoami mais bon je n'arrive toujours pas lui dire que c'est une commande et pas le login auquel je veux appliqué mon write
Un jour mon père m' a dit " fils, si ton programme tourne, c est qu il peut faire mieux ..."
Hors ligne
#4 Le 25/11/2012, à 11:24
- pingouinux
Re : Message a toute les personnes connecté.
Bonjour,
Pour boucler sur la liste des utilisateurs :
while read qui
do
la_commande … $qui …
done <who
Remarques :
1) Il vaut mieux ne pas donner à un fichier le nom d'une commande
2) Penser aussi à supprimer du fichier "who" les utilisateurs qui apparaissent plusieurs fois
Hors ligne
#5 Le 25/11/2012, à 11:29
- Bat_Tuc
Re : Message a toute les personnes connecté.
Bonjour,
Pour boucler sur la liste des utilisateurs :while read qui do la_commande … $qui … done <who
Remarques :
1) Il vaut mieux ne pas donner à un fichier le nom d'une commande
2) Penser aussi à supprimer du fichier "who" les utilisateurs qui apparaissent plusieurs fois
merci
Un jour mon père m' a dit " fils, si ton programme tourne, c est qu il peut faire mieux ..."
Hors ligne
#6 Le 25/11/2012, à 11:33
- Bat_Tuc
Re : Message a toute les personnes connecté.
Autre question.
Est il possible ( et si oui comment) de faire un "programme / fichier " qui execute plusieurs commandes a la suite. De cette maniere j'execute que ce programme/fichier et non mes plusieurs commande a la suite ..
si j'ai bien compris on appelle ca un script c'est bien ca ?
Comment fait on ? :-)
Un jour mon père m' a dit " fils, si ton programme tourne, c est qu il peut faire mieux ..."
Hors ligne
#7 Le 25/11/2012, à 11:42
- pingouinux
Re : Message a toute les personnes connecté.
Voici un exemple. Il faut éditer un nouveau fichier, dans lequel on écrit les commandes.
$ cat mon_script.sh
#!/bin/bash
echo "Ceci est ma 1ère commande"
echo "Ceci est ma 2ème commande"
On lui donne la permission d'exécution :
$ chmod u+x mon_script.sh
Pour l'exécuter :
$ ./mon_script.sh
Ceci est ma 1ère commande
Ceci est ma 2ème commande
Hors ligne
#8 Le 25/11/2012, à 11:56
- tiramiseb
Re : Message a toute les personnes connecté.
un script me permettant d'envoyé un message ( via write a priori .. ) a tous les utilisateurs connecté en meme temps que moi.
Ben utilise wall au lieu de write, et voilà... :-)
(note bien, cependant, que tout utilisateur peut désactiver l'affichage de ces messages grâce à la commande mesg (sauf si tu es root, dans ce cas tu outrepasses ce réglages).
echo "Salut tout le monde !" | wall
Dernière modification par tiramiseb (Le 25/11/2012, à 11:56)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#9 Le 25/11/2012, à 11:58
- Watael
Re : Message a toute les personnes connecté.
salut,
pourquoi ne pas utiliser wall ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#10 Le 25/11/2012, à 16:18
- Bat_Tuc
Re : Message a toute les personnes connecté.
Je ne connaissais pas cette commande je me renseigne la dessus ;-)
Un jour mon père m' a dit " fils, si ton programme tourne, c est qu il peut faire mieux ..."
Hors ligne
#11 Le 25/11/2012, à 17:06
- Sciensous
Re : Message a toute les personnes connecté.
Attention au message d'erreur:
echo "Salut tout le monde !" | wall
il faut des simples "
echo 'Salut tout le monde !' | wall
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#12 Le 25/11/2012, à 20:18
- tiramiseb
Re : Message a toute les personnes connecté.
Attention au message d'erreur:
[...]
il faut des simples "
Ah oui. Les problèmes avec le point d'exclamation...
Enfin s'il n'y a pas le point d'exclamation, ça passe
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne