Pages : 1
#1 Le 02/11/2010, à 18:40
- baba00000000
[Résolu] Initiation bash
Bonjour je me suis lancé dans l'apprentissage du bash.
Dans un premier temps je donne la méthode que je suis. ( http://abs.traduc.org/abs-5.3-fr/index.html )
Je suis arriver au premier exercice ( http://abs.traduc.org/abs-5.3-fr/ch02s02.html).
Je me base sur les exemple des pages qui sont en lien pour résoudre l'exercice.
J'arrive à avoir l'heure, la date, l'uptime. Mais pour créer le fichier journal avec toutes les informations. Je suis dans le flou complet.
Programme:
#!/bin/bash
# test exercice http://abs.traduc.org/abs-5.3-fr/ch02s02.html
echo "Date: `date`."
who
uptime
SORTIE COMMANDE > fichier
exit 0
Commande lancer dans le terminal:
bash date
Date: mardi 2 novembre 2010, 17:26:55 (UTC+0000).
sebastien tty7 2010-11-02 07:08 (:0)
sebastien pts/0 2010-11-02 13:57 (:0.0)
17:26:55 up 10:18, 2 users, load average: 1.10, 1.13, 1.15
date: line 9: SORTIE : commande introuvable
j'ai essayer aussi ce code:
#!/bin/bash
# test exercice http://abs.traduc.org/abs-5.3-fr/ch02s02.html
echo "Date: `date`."
who
uptime
SORTIE COMMANDE 2> fichier
exit 0
Résultat du terminal:
Date: mardi 2 novembre 2010, 17:26:55 (UTC+0000).
sebastien tty7 2010-11-02 07:08 (:0)
sebastien pts/0 2010-11-02 13:57 (:0.0)
17:26:55 up 10:18, 2 users, load average: 1.10, 1.13, 1.15
J'étais content car j'avais plus le code dans le terminal, mais en ouvrant le fichier j'avais que : date: line 9: SORTIE : commande introuvable.
Merci a tous d'avoir lu mon petit problème et si vous pouvez me donner des conseils. Je précise de toute de sorte critique, logiciel, ...
Je vous remercie d'avance.
Dernière modification par baba00000000 (Le 02/11/2010, à 19:46)
http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.
Hors ligne
#2 Le 02/11/2010, à 18:48
- vincentp010
Re : [Résolu] Initiation bash
Salut,
quand tu met SORTIE COMMANDE > fichier
cela veut dire: exécute la commande SORTIE COMMANDE et écrit le résultat dans le fichier fichier
Le shell te répond donc que la commande SORTIE n'existe pas, ce qui est normal.
Il vaut mieux écrire, pour mettre la date dans un fichier
date > fichier
Je te laisse méditer pour les autres commandes
Dernière modification par vincentp010 (Le 02/11/2010, à 18:49)
Desktop: Archlinux OpenBox
Laptop: Dualboot Ubuntu-Studio 9.10 / Archlinux OpenBox
Server: EeeBox Ubuntu-Server 8.10 500Go
Hors ligne
#3 Le 02/11/2010, à 19:00
- baba00000000
Re : [Résolu] Initiation bash
Merci beaucoup pour la réponse. J'ai relu 10 fois ton post, car j'arrivais pas.
J'ai écris:
Date > fichier
Il n'aime pas la majuscule.
En fessant des erreurs j'apprends.
Je mettrais résolu quand j'aurais fini l'exercice.
http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.
Hors ligne
#4 Le 02/11/2010, à 19:17
- vincentp010
Re : [Résolu] Initiation bash
Oui tout ce que tu écris est sensible à la casse, et en règle générale les commandes sont toutes en minuscules.
Desktop: Archlinux OpenBox
Laptop: Dualboot Ubuntu-Studio 9.10 / Archlinux OpenBox
Server: EeeBox Ubuntu-Server 8.10 500Go
Hors ligne
#5 Le 02/11/2010, à 19:18
- baba00000000
Re : [Résolu] Initiation bash
Voilà mon nouveau code:
#!/bin/bash
# test exercice http://abs.traduc.org/abs-5.3-fr/ch02s02.html
date >> journal
uptime >> journal
who >> journal
exit 0
J'ai changer fichier par journal
J'ai fini l'exercice, mais j'ai une question qui me trotte en tête. On parlais de ">" et pour réussir j'ai du en mettre deux à la suite.
Sinon y restait que le résultat de la commande who.
La question est la suivante, peut on faire le même programme que celui que je viens de poster. Mais avec juste un ">"
J'ai essayer de mettre tout les commande dans la même ligne:
date uptime who > journal
Edit: Car avec le ">>" il n'efface rien et avec ">" il efface tout pour remettre les nouveau résultat. J'ai compris sa.
Dernière modification par baba00000000 (Le 02/11/2010, à 19:20)
http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.
Hors ligne
#6 Le 02/11/2010, à 19:42
- vincentp010
Re : [Résolu] Initiation bash
Oui tu as bien compris.
Pour la première commande tu peut mettre juste une seule flèche pour être sûr de partir d'un fichier vide et ensuite tu double les flèches pour écrire à la suite.
Desktop: Archlinux OpenBox
Laptop: Dualboot Ubuntu-Studio 9.10 / Archlinux OpenBox
Server: EeeBox Ubuntu-Server 8.10 500Go
Hors ligne
#7 Le 02/11/2010, à 19:45
- baba00000000
Re : [Résolu] Initiation bash
Oki merci pour tes réponses expresse. Je change en résolu.
http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.
Hors ligne
#8 Le 02/11/2010, à 22:27
- ehmicky
Re : [Résolu] Initiation bash
Salut,
Voilà mon nouveau code:
date >> journal uptime >> journal who >> journal
peut être écrit :
{
date
uptime
who
} >> journal
ou :
exec >> journal
date
uptime
who
ou encore :
exec 2>> journal
date >&2
uptime >&2
who >&2
La redirection vers "journal" a lieu :
- pour la première, pour les commandes entre { }
- pour la seconde, pour toutes les commandes du script
- pour la troisième, pour les commandes du script contenant >&2
Edit : (En théorie, tu devrais enregistrer stdout ou stderr avant sa redirection avec exec, et le restaurer ensuite, à vrai dire)
Dernière modification par ehmicky (Le 02/11/2010, à 23:03)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#9 Le 03/11/2010, à 12:10
- baba00000000
Re : [Résolu] Initiation bash
Merci pour la précision. Il y a plusieurs de possibilités pour écrire son code.
Tout dépend de ce que l'on veut.
http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.
Hors ligne