IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Question de débutant


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 41
    Par défaut Question de débutant
    Bonsoir à tous,

    Je débute en scripting de shell et awk, je me mets à faire quelques exercices et me rends compte que de simples commandes ne fonctionnent pas comme je l’espérais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/bash
    exho $#
    awk '{print $0}' $*
    Ce script appellé comme ceci :
    devrait m'afficher
    2
    "texte du fichier 1"
    "texte du fichier 2"
    Or, il ne m'affiche que :
    2
    "texte du fichier 2"
    Et si je mets plus de paramètre, j'aurais tout les fichiers affiché à la suite sauf le 1. Même lorsque je décale à l'aide d'un shift, il ne m'affiche pas le premier paramètre. Je suis vraiment désolé de cette question idiote, mais je n'arrive vraiment pas à comprendre.
    Mon linux est lancé sur VirtualBox et je me demande si c'est pas mon shell qui plante ?

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    je confirme : tu as un problème. Pour moi, ça fonctionne comme tu le veux.

    Même lorsque je décale à l'aide d'un shift, il ne m'affiche pas le premier paramètre.
    ça, c'est normal, c'est à ça que ça sert !

    et quand tu fais un echo $* ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 41
    Par défaut
    1) Pardon, j'avais oublié les [code]... Merci d'avoir édité !
    2) Merci pour cette réponse rapide !

    Sinon, lorsque je Je récupère la liste de TOUT mes arguments :/.

    Je me suis mal exprimé pour le shift, quand je l'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/bin/bash
    shift ;
    echo $# ;
    awk '{print $0}' $*
    Je me retrouve avec le décalage voulu, soit 1 paramètre mais rien ne s'affiche...
    Déjà, ça me rassure que cela vienne de moi, je commençais un peu à paniquer "bordel je comprends rien ><".

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    mouais, c'est bizarre

    quel OS
    quel awk
    quelles versions ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre confirmé
    Profil pro
    ingénieur
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Par défaut
    Ton fichier serais pas vide des fois ?

    modifie le ou créer un autre pour vérifier.

    Pour moi ça marche aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    bash -x toc fic1 fic2
    + shift
    + echo 1
    1
    + awk '{print $0}' fic2
    fichier2
    Note: bash -x s'est pour le mode debug.

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 839
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sedawk Voir le message
    Ton fichier serais pas vide des fois ?
    Ca c'est la question qui fait mal

    De mon coté ça marche aussi. Je crois que sedawk a trouvé la faille
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/06/2005, 10h56
  2. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51
  3. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  4. Questions de débutant
    Par J-P-B dans le forum XMLRAD
    Réponses: 12
    Dernier message: 24/07/2003, 15h19
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo