Ecriture d 'un scrip shell
Fermé
melissa777
-
25 déc. 2009 à 22:46
melissa777 Messages postés 14 Date d'inscription vendredi 25 décembre 2009 Statut Membre Dernière intervention 4 janvier 2010 - 29 déc. 2009 à 14:04
melissa777 Messages postés 14 Date d'inscription vendredi 25 décembre 2009 Statut Membre Dernière intervention 4 janvier 2010 - 29 déc. 2009 à 14:04
A voir également:
- Ecriture d 'un scrip shell
- Écriture facebook - Guide
- Écriture miroir - Guide
- Ecriture en gras - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Ecriture insta - Guide
8 réponses
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
25 déc. 2009 à 22:51
25 déc. 2009 à 22:51
melissa777
Messages postés
14
Date d'inscription
vendredi 25 décembre 2009
Statut
Membre
Dernière intervention
4 janvier 2010
27 déc. 2009 à 11:46
27 déc. 2009 à 11:46
y a t'il quelq'un qui m aide?
Salut,
Par exemple
Par exemple
$ cat attente_stdin.sh #!/bin/bash echo -n "echo j'ecoute sur l'entrée standard (il faut entrer une commande) : " read commande eval $commande $ ./attente_stdin.sh echo j'ecoute sur l'entrée standard (il faut entrer une commande) : ls attente_stdin.sh choix.sh division.sh $ ./attente_stdin.sh echo j'ecoute sur l'entrée standard (il faut entrer une commande) : ls -l total 12 -rwxr-xr-x 1 lami20j lami20j 122 déc. 27 11:50 attente_stdin.sh -rw-r--r-- 1 lami20j lami20j 466 déc. 26 17:07 choix.sh -rwxr-xr-x 1 lami20j lami20j 168 déc. 26 17:24 division.sh $
melissa777
Messages postés
14
Date d'inscription
vendredi 25 décembre 2009
Statut
Membre
Dernière intervention
4 janvier 2010
27 déc. 2009 à 13:12
27 déc. 2009 à 13:12
merci pour vos reponses
est ce que read commande me permet uniquement de lire une commande c est a dire le fait d'crire commande le compilateur comprend que c est une commande?
pourqoui vous avez utilisez eval $commande?
et pourquoi $../attente_stdin.sh?
merci encore uen fois pour m eclaircir
est ce que read commande me permet uniquement de lire une commande c est a dire le fait d'crire commande le compilateur comprend que c est une commande?
pourqoui vous avez utilisez eval $commande?
et pourquoi $../attente_stdin.sh?
merci encore uen fois pour m eclaircir
Salut,
mais comment ecouter quel port utiliser quel protocol j arrive pas a comprendre
Dans le fichier /etc/services tu trouveras les services et le port attribué.
Par exemple si tu mets en place un serveur web le port 80 sera à l'écoute pour http et 443 pour https.
Dans la configuration de serveur tu peux par exemple changer le port d'écoute.
Par exemple sur mon serveur local j'ai mis 81
La commande netstat me permet de voir ça.
Voici un lien sympa http://christian.caleca.free.fr/
mais comment ecouter quel port utiliser quel protocol j arrive pas a comprendre
Dans le fichier /etc/services tu trouveras les services et le port attribué.
Par exemple si tu mets en place un serveur web le port 80 sera à l'écoute pour http et 443 pour https.
Dans la configuration de serveur tu peux par exemple changer le port d'écoute.
Par exemple sur mon serveur local j'ai mis 81
La commande netstat me permet de voir ça.
lami20j@debian:~$ su -c 'netstat -lpn | grep ":81\>"' Mot de passe : tcp6 0 0 :::81 :::* LISTEN 2944/apache2
Voici un lien sympa http://christian.caleca.free.fr/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
J'ai pense pouvoir t'aider sur un problème ponctuel, mais je vois que tu as besoin d'un vrai cours, et je ne plaisante pas.
est ce que read commande me permet uniquement de lire une commande c est a dire le fait d'crire commande
read permet de lire une chaîne au clavier (ça c'est
le compilateur comprend que c est une commande?
Il s'agit d'un langage interprété et pas compilé
pourqoui vous avez utilisez eval $commande?
eval a permis d'évaluer la chaîne saisie comme une commande et pas comme une simple chaîne de caractère.
Sans eval j'aurai écrit echo $commande et en ce moment c'est la chaîne que j'ai saisi qu'aurait été affichée.
et pourquoi $../attente_stdin.sh?
Lis cette article exécuter un script shell
J'ai pense pouvoir t'aider sur un problème ponctuel, mais je vois que tu as besoin d'un vrai cours, et je ne plaisante pas.
est ce que read commande me permet uniquement de lire une commande c est a dire le fait d'crire commande
read permet de lire une chaîne au clavier (ça c'est
le compilateur comprend que c est une commande?
Il s'agit d'un langage interprété et pas compilé
pourqoui vous avez utilisez eval $commande?
eval a permis d'évaluer la chaîne saisie comme une commande et pas comme une simple chaîne de caractère.
Sans eval j'aurai écrit echo $commande et en ce moment c'est la chaîne que j'ai saisi qu'aurait été affichée.
et pourquoi $../attente_stdin.sh?
Lis cette article exécuter un script shell
melissa777
Messages postés
14
Date d'inscription
vendredi 25 décembre 2009
Statut
Membre
Dernière intervention
4 janvier 2010
28 déc. 2009 à 01:19
28 déc. 2009 à 01:19
bonsoir;
Merci pour les explication
j'ai lu l'article et j'ai compris que
./attente_stdin.sh c'est la façon de lancer l'execution d'un script; et meme pour eval j'ai lu et j'ai compri pourqoui il faut faire eval $commande;
mais reste le probleme d'où vient ce fichier attente_stdin.sh ? est ce que c'est a moi de l'ecrire et le lancer pour l'ecoute et je lui donne comme nom attente_stdin.sh
#!/bin/sh
#fichier d' ecoute d'une commande
read commande
eval $commande
et si oui comment je peux renvoer la reponse sur la sortie standard? est ce que uniquement j'ajoutte la redirection de la commande comme suit:
eval $commande >1
merci et je m'exuse pour ce derangement reptitif car je suis totalemnt nouvelle ds ce domaine
Merci pour les explication
j'ai lu l'article et j'ai compris que
./attente_stdin.sh c'est la façon de lancer l'execution d'un script; et meme pour eval j'ai lu et j'ai compri pourqoui il faut faire eval $commande;
mais reste le probleme d'où vient ce fichier attente_stdin.sh ? est ce que c'est a moi de l'ecrire et le lancer pour l'ecoute et je lui donne comme nom attente_stdin.sh
#!/bin/sh
#fichier d' ecoute d'une commande
read commande
eval $commande
et si oui comment je peux renvoer la reponse sur la sortie standard? est ce que uniquement j'ajoutte la redirection de la commande comme suit:
eval $commande >1
merci et je m'exuse pour ce derangement reptitif car je suis totalemnt nouvelle ds ce domaine
Salut,
mais reste le probleme d'où vient ce fichier attente_stdin.sh ? est ce que c'est a moi de l'ecrire et le lancer pour l'ecoute et je lui donne comme nom attente_stdin.sh
Oui, bien sûr que c'est à toi de l'écrire et tu peux lui donner n'importe quel nom.
D'après toi chez moi comment il est arrivé? ;-)) Je l'ai écrit tout simplement.
Pour ça tu dois utiliser un éditeur de texte sans mise en forme (kate,gedit, kwrite,nano,vi,emacs, scite, etc.)
comment je peux renvoer la reponse sur la sortie standard? est ce que uniquement j'ajoutte la redirection de la commande comme suit:
eval $commande >1
Non, la sortie standard STDOUT c'est l'écran donc c'est par défaut il n'y a pas de redirection à faire si tu ne veux pas écrire autre part.
En revanche si la sortie standard tu veux l'écrire dans un autre fichier alors tu dois utiliser les redirections
Par exemple j'ai ouvert deux terminaux (la commande tty te donne le nom du fichier du terminal)
/dev/pts/0 et /dev/pts/1
Sur /dev/pts/0 je fait
Sur /dev/pts/1 je vois
Lit man bash le chapitre REDIRECTIONS
mais reste le probleme d'où vient ce fichier attente_stdin.sh ? est ce que c'est a moi de l'ecrire et le lancer pour l'ecoute et je lui donne comme nom attente_stdin.sh
Oui, bien sûr que c'est à toi de l'écrire et tu peux lui donner n'importe quel nom.
D'après toi chez moi comment il est arrivé? ;-)) Je l'ai écrit tout simplement.
Pour ça tu dois utiliser un éditeur de texte sans mise en forme (kate,gedit, kwrite,nano,vi,emacs, scite, etc.)
comment je peux renvoer la reponse sur la sortie standard? est ce que uniquement j'ajoutte la redirection de la commande comme suit:
eval $commande >1
Non, la sortie standard STDOUT c'est l'écran donc c'est par défaut il n'y a pas de redirection à faire si tu ne veux pas écrire autre part.
En revanche si la sortie standard tu veux l'écrire dans un autre fichier alors tu dois utiliser les redirections
Par exemple j'ai ouvert deux terminaux (la commande tty te donne le nom du fichier du terminal)
/dev/pts/0 et /dev/pts/1
Sur /dev/pts/0 je fait
lami20j@debian:~$ tty /dev/pts/0 lami20j@debian:~$ echo salut ici vers sortie standard salut ici vers sortie standard lami20j@debian:~$ echo salut vers /dev/pts/1 > /dev/pts/1 lami20j@debian:~$ echo salut vers fichier salut.txt > salut.txt lami20j@debian:~$ cat salut.txt salut vers fichier salut.txt
Sur /dev/pts/1 je vois
lami20j@debian:~$ tty /dev/pts/1 lami20j@debian:~$ salut vers /dev/pts/1
Lit man bash le chapitre REDIRECTIONS
melissa777
Messages postés
14
Date d'inscription
vendredi 25 décembre 2009
Statut
Membre
Dernière intervention
4 janvier 2010
28 déc. 2009 à 11:41
28 déc. 2009 à 11:41
Bonjour ;
j'i lu les redirections ; merci pour votre orientation
est ce que ce code est suffisant pour repondre à ma demande qui est "un petit script qui écoute sur
l’entrée standard en l’attente de commande et renvoie la réponse sur la
sortie standard."
le code est le suivant :
#!/bin/sh
#"j'ecoute sur l'entrée standard en attente d'une commande "
read commande
eval $commande
et si il est suffisant est ce que vous pouvez m'orienter comment implementer les commandes suivantes
NAME : indique le nom de la machine;
UPTIME : affiche depuis combien de temps la machine est en marche;
USERS : affiche le nom des utilisateurs connectés à la machine;
à noter que j'ai doccumenter sur linux et j'ai lu que
le repertoire /etc contient les fichier de configuration (fichiers passwrd group initab.....) mais j'arrive pas à exploiter ces informations pour arriver a implementer les commandes citées.
merci pour m'accorder de votre temps...
j'i lu les redirections ; merci pour votre orientation
est ce que ce code est suffisant pour repondre à ma demande qui est "un petit script qui écoute sur
l’entrée standard en l’attente de commande et renvoie la réponse sur la
sortie standard."
le code est le suivant :
#!/bin/sh
#"j'ecoute sur l'entrée standard en attente d'une commande "
read commande
eval $commande
et si il est suffisant est ce que vous pouvez m'orienter comment implementer les commandes suivantes
NAME : indique le nom de la machine;
UPTIME : affiche depuis combien de temps la machine est en marche;
USERS : affiche le nom des utilisateurs connectés à la machine;
à noter que j'ai doccumenter sur linux et j'ai lu que
le repertoire /etc contient les fichier de configuration (fichiers passwrd group initab.....) mais j'arrive pas à exploiter ces informations pour arriver a implementer les commandes citées.
merci pour m'accorder de votre temps...
Salut,
Voir dans les pages man pour les commandes
en l’attente de commande et renvoie la réponse sur la
sortie standard."
Si tu ne veux pas exécuter la commande mais juste l'affichée alors mets
echo $commande au lieu de eval $commande
Voir dans les pages man pour les commandes
uptime hostname w who
en l’attente de commande et renvoie la réponse sur la
sortie standard."
Si tu ne veux pas exécuter la commande mais juste l'affichée alors mets
echo $commande au lieu de eval $commande
melissa777
Messages postés
14
Date d'inscription
vendredi 25 décembre 2009
Statut
Membre
Dernière intervention
4 janvier 2010
28 déc. 2009 à 14:05
28 déc. 2009 à 14:05
merci pour l'orientation
pour la command who
j'ai deja fait ça
#!/bin/sh
echo "who |wc -l>utilistaursactuels.sh
j'ai enregistré le fichier sous le nom utilsateursactuels.sh
aprés j ai fait chmod +a +x utilisateursactuels.sh pour le rendre comme une commande du shell
et quand j'excecute ./utilisteursactuels normalement ça marche mais j'ai pas l'envirinement linux pour essayer ce scrip
pour les autres je vais essayer et si tu as plus d'orientatiosn merci.
pour la command who
j'ai deja fait ça
#!/bin/sh
echo "who |wc -l>utilistaursactuels.sh
j'ai enregistré le fichier sous le nom utilsateursactuels.sh
aprés j ai fait chmod +a +x utilisateursactuels.sh pour le rendre comme une commande du shell
et quand j'excecute ./utilisteursactuels normalement ça marche mais j'ai pas l'envirinement linux pour essayer ce scrip
pour les autres je vais essayer et si tu as plus d'orientatiosn merci.
melissa777
Messages postés
14
Date d'inscription
vendredi 25 décembre 2009
Statut
Membre
Dernière intervention
4 janvier 2010
29 déc. 2009 à 14:04
29 déc. 2009 à 14:04
Bonjour
est ce que la sollution cest ce que j ai ecris en dessous?
Merci
est ce que la sollution cest ce que j ai ecris en dessous?
Merci
25 déc. 2009 à 22:59
je ne demande pas une sollution complete;mais au moins les grandes lignes de comment commencer;
j'ai essayer mais j'ai pas arrivé
25 déc. 2009 à 23:02
Ben justement t'as essayé quoi ?
Ne serait-ce que ça, nous indiquera que tu as au moins essayé...
25 déc. 2009 à 23:32
1.l'entrée standard dans lequel le processus va lire des données entrées par defaut qui est idetifié par 0 qui est le clavier.
2. la sortie standard numero 1et qui reprsente l'ecranr
3.la sortie standard d'erreur qui est 2
j'ai lu aussi comment redirgier les resultats c'est avec >1
aussi j ai compri que les users sont entregistrés dans /etc/passwrd
mais comment ecouter quel port utiliser quel protocol j arrive pas a comprendre
26 déc. 2009 à 00:03
27 déc. 2009 à 11:45
#!/bin/sh
#monpremieressai
echo "j'ecoute sur l'entrée standard"
cat << | 1>