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 :

Script shell erreur débutant


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 29
    Par défaut Script shell erreur débutant
    Bonjour à tous j'ai un petit soucis des que j'essai d'executer mon script shell qui a pour but d afficher la taille totale de tout les fichier pg d'un dossier , car j ai l erreur "unexpected end of file" je suppose que c'est une erreur de point ou de détail mais je debute dans le milieu je n arrive pas a demasquer cette erreur merci d'avances à tout ceux qui me mettrons sur la piste
    le voici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/bash
    if(($#==0))
    then echo "il faut au minimun au moin 1 agument"
    exit 1
    fi
    for $arg do
    if (test ! -d $arg)
    then echo "$arg : est innexistant"
    else if (test ! -r $arg)
     if find $arg/*jpg 1>/dev/null 2>/dev/null
    then $P>(du -c $arg/*.jpg | grep total)
    echo "$arg pèse $P octés" ; fi

  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,

    j ai l erreur "unexpected end of file"
    bah, oui ! c'est du grand n'importe quoi ton script !

    on va te le dire, à toi aussi :
    avant d'écrire des commandes dans un script, on les teste dans le terminal !

    ligne 1 : il manque une espace
    ligne 7 : les tests n'ont pas à être dans un sous-shell.
    ligne 9 : tous les if doivent être fermés par un fi.
    ligne 11 : $P n'existe pas.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 29
    Par défaut
    Bonsoir merci de votre réponse rapide,effectivement je n avais pas vu pour l espace , les test à l interieur m'ont été conseillés par mes professeurs , pour le fi si je les met j ai des erreurs c 'est pour cela que j ai laisser que le dernier et pour le $p je voulais faire une affectation pour afficher dans la phrase finale mais apparemment il ne faut pas faire comme cela . merci de votre aide

  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
    je ne dirai pas ce que je pense des profs , parce qu'il y en a de très bons ici , mais ailleurs...

    poste à nouveau ton script avec les modifications, qu'on voit où tu en es.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 29
    Par défaut
    je suis obliger de laisser les test car ils le veulent en revanche pour la fin sans affecter de variables pour le total je ne vois pas car ce que j ai écrit dans ce code est impossible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #! /bin/bash
    if(($#==0))
    then echo "il faut au minimun au moin 1 agument"
    exit 1
    fi
    for $arg do
    if (test ! -d $arg)
    then echo "$arg : est innexistant"
    else if (test ! -r $arg) 
     if find  arg/*jpg 1>/dev/null 2>/dev/null
    then (du -c $arg/*.jpg | grep total)= $p 
    echo "$arg pèse $p octets "; fi

  6. #6
    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
    c'est pas les test le problème, c'est qu'ils soient inutilement entre parenthèses (dans un sous-shell).

    quant aux if, il doit y avoir autant de fi !
    il manque une partie du code : if...;then...(;elif...);else...;fi !
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par Aurelioux Voir le message
    pour le $p je voulais faire une affectation pour afficher dans la phrase finale mais apparemment il ne faut pas faire comme cela
    Pour affecter une variable, il faut... commencer par lire un peu de doc ou de tutoriels, plutôt que d'essayer des trucs comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $P>(du -c $arg/*.jpg | grep total)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (du -c $arg/*.jpg | grep total)= $p
    Ou alors, carrément essayer un truc comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p=$(du -c $arg/*.jpg | grep total)

Discussions similaires

  1. qsub en script shell : FOUND=$(qstat | grep -c "$JOB_ID") erreur
    Par ben.IT dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 24/02/2011, 09h09
  2. Log pour erreurs Insert dans script Shell
    Par pcsystemd dans le forum Linux
    Réponses: 1
    Dernier message: 16/06/2009, 21h54
  3. [bash]erreurs dans l'écriture d'un script shell
    Par homeostasie dans le forum Linux
    Réponses: 3
    Dernier message: 23/03/2009, 16h09
  4. Gérer les erreurs ftp dans un script shell
    Par talvins dans le forum Administration système
    Réponses: 2
    Dernier message: 18/08/2008, 17h15
  5. Erreur avec make appellé dans un script shell
    Par Neuromancien2 dans le forum C
    Réponses: 2
    Dernier message: 27/01/2008, 01h20

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