Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/11/2010, à 19: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, à 20:46)


http://racketiciel.info

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, à 19: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 wink

Dernière modification par vincentp010 (Le 02/11/2010, à 19: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, à 20: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. big_smile

Je mettrais résolu quand j'aurais fini l'exercice.


http://racketiciel.info

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, à 20: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, à 20: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 smile

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, à 20:20)


http://racketiciel.info

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, à 20: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, à 20:45

baba00000000

Re : [Résolu] Initiation bash

Oki merci pour tes réponses expresse. Je change en résolu.


http://racketiciel.info

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, à 23:27

ehmicky

Re : [Résolu] Initiation bash

Salut,

baba00000000 a écrit :

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 03/11/2010, à 00: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, à 13: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

http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.

Hors ligne