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

Linux Discussion :

Ksh, problème avec une simple boucle for


Sujet :

Linux

  1. #1
    Membre confirmé Avatar de herzleid
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 393
    Points : 509
    Points
    509
    Par défaut Ksh, problème avec une simple boucle for
    Bonjour,

    je travail sur un HP-UX (un Hp 9000 pour être précis) et je voulais faire une simple boucle itérative avec for, mais elle marche pas. En français je voulais obtenir quelque chose comme ça :
    pour i entre 0 et 10 en incrémentant de 1 à chaque passage, affiche i.
    J'ai donc tapé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $>: for ( i=0; i<10; i++ ) ; do echo $i; done
    et il me jette avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sh: Syntax error: `(' is not expected.
    Quelqu'un à une idée du pourquoi ?
    Merci.

  2. #2
    Membre confirmé
    Avatar de bster
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2005
    Messages : 372
    Points : 497
    Points
    497
    Par défaut
    man ksh
    for identifier [in word...] ;do list ;done
    Each time a for command is executed, identifier is set to the next word
    taken from the in word list. If in word ... is omitted, the for com-
    mand executes the do list once for each positional parameter that is
    set. (See Parameter Substitution.) Execution ends when there are no
    more words in the list.
    tu devrais plustot faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for i in 1 2 3 4 5 6 7 8 9 10 ; do echo $i ; done
    et ne pas utiliser la syntaxe C++
    Comité de lutte contre le langage SMS sur les forums
    Veuillez écrire dans un langage compréhensible par les humains, merci.

  3. #3
    Membre confirmé Avatar de herzleid
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 393
    Points : 509
    Points
    509
    Par défaut
    Oui c'est ce que j'ai fait, mais comme dans mon bouquin "Programmation Unix" de chez CampusPress ils disent que c'est faisable : (i=0;i<10;i++) je voulais le faire.

    Merci pour ta réponse, je vais me chercher une méthode alternative alors (parce que l'énumération de 50 chiffres merci).

  4. #4
    Membre confirmé
    Avatar de bster
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2005
    Messages : 372
    Points : 497
    Points
    497
    Par défaut
    tu dois pouvoir jouer avec expr pour faire des calculs et donc des boucles de valeurs mais plustot avec do [....] while


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    i=0
    while [ $i -lt 50 ]
    do 
           i=`expr $i + 1`
    done
    PS: là je suis en KSH
    Comité de lutte contre le langage SMS sur les forums
    Veuillez écrire dans un langage compréhensible par les humains, merci.

  5. #5
    Membre confirmé Avatar de herzleid
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 393
    Points : 509
    Points
    509
    Par défaut
    c'est exactement ce qu'il me fallait

    Merci beaucoup.

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

Discussions similaires

  1. probleme avec une simple requetes
    Par Babylonne dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 29/06/2007, 08h59
  2. probleme avec une simple requete
    Par nassimmm dans le forum Langage SQL
    Réponses: 11
    Dernier message: 03/08/2006, 17h46
  3. une simple boucle if
    Par aarlock dans le forum Access
    Réponses: 4
    Dernier message: 02/06/2006, 14h17
  4. [WD9] [Débutant] Souci avec une simple requête
    Par unix27 dans le forum WinDev
    Réponses: 4
    Dernier message: 04/04/2006, 00h54
  5. Comment faire une simple boucle de décrementation
    Par marcus333 dans le forum Langage
    Réponses: 5
    Dernier message: 05/02/2006, 13h24

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