Marotte ⛧ a écrit 8859 commentaires

  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 3. Dernière modification le 30 octobre 2014 à 17:36.

    je m'en sors pas avec les conditions

    Pour y voir plus clair, plutôt que de sauter des lignes dans ton code, « indente » le. Ce n'est pas parce que ce n'est pas obligatoire, comme en python par exemple, que ce n'est pas nécessaire. On indente toujours le code. Si j'étais prof ce serait direct deux points en moins un code sans indentation :)

    if [ $# -ge 1 ]
     then
      for i
      do
       if [ $VAR -eq 0 ]
        then VAR="$i"
        else VAR="$VAR,$i"
       fi
      done
      ps -C $VAR
     else
      echo "pas d'argument"
      exit 1
    fi
    exit 0
  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 2. Dernière modification le 30 octobre 2014 à 17:29.

    then VAR="$i"
    else VAR="$VAR,$i"
    

    ça c'est bon, et pas besoin d'enlever une virgule à la fin :)

    $VAR -eq 0
    

    ça non.

    Si tu veux tester si $VAR est vide il ne faut pas utiliser -eq, je te laisse chercher toi même (man test) !

    EDIT : Quoique -eq "" fonctionne peut-être, mais il y a mieux.

  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 2.

    De toute façon te casses pas :

    ça marche pour bash, je ne sais pas pour sh

    je viens de tester ça ne fonctionne pas. Mais on peut faire comme ça :

    $ u=toto
    $ u+=titi
    sh: 12: u+=titi: not found  <-- marche pas en sh
    $ u=${u}titi                <-- ça oui
    $ echo $u
    tototiti
    
  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 2.

    Poste le code entier. Mais par contre, c'est très important :

    1) Saute une ligne
    2) Mets trois "backquote" (c'est le caractère sur AltGr+7) suivi de "sh" (sans espace)
    3) Colle ton code à partir de la ligne d'après
    4) Saute une ligne
    5) Mets trois "backquote" et saute une ligne

    Sinon ce ne sera pas lisible. C'est expliqué sur le wiki : https://linuxfr.org/wiki/aide-edition#code

  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 2.

    sinon tu peux aussi regarder avec shift pour chopper le premier et faire le reste avec le for

    J'ai trouvé celui qui lisait pas les énoncés jusqu'au bout ! :) C'est la partie 4. Tu brûles les étapes.

  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 2. Dernière modification le 30 octobre 2014 à 17:00.

    Tu as fait une erreur dans la condition, $VAR est une chaîne vide, ce n'est pas un entier :

    stef@medusa:~$ if [ "" -eq 0 ]; then echo "true"; else echo "false"; fi;
    bash: [:  : nombre entier attendu comme expression
    false
    

    Tu peux retourner lire la page man de test ;) Mais sinon j'ai déjà donné des exemples dans mes autres commentaires…

    Mais tu t'y prends aussi mal dans la boucle :

    Si VAR n'est PAS VIDE:
    VAR=?
    sinon:
    VAR=?

    Je te donne un indice pour trouver les ? : la virgule n'est pas au bon endroit et dans l'un des cas tu n'as pas besoin d'utiliser les deux variables…

    C'est plus propre que la méthode donnée plus haut qui consiste à mettre des virgules au mauvais endroit pour ensuite en enlever une ! :p

  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 3. Dernière modification le 30 octobre 2014 à 16:47.

    `commande` et $(commande) ne sont pas équivalents, le premier exécute la commande dans un sous-shell, la deuxième dans le shell courant.

    C'est peut-être pour ça que tu as un comportement étrange avec $*

    En espérant ne pas dire de conneries.

  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 2.

    ps -C ${i:1}

    Au moins c'est cool, là on enlève bien une virgule :)

  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 2.

    Bin si sauf qu'il y a théoriquement 3 conditions qui sont équivalentes pour tester si $VAR n'est pas vide :

    ! -z $VAR
    $VAR
    -n $VAR

    Je ne comprends pas pourquoi la dernière ne fonctionne pas.

    Et comme cela a été dit, il ne faut pas enlever la virgule mais la mettre seulement si c'est nécessaire (ie : si $VAR n'est pas vide)

  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 2. Dernière modification le 30 octobre 2014 à 16:20.

    man test

    En fait la commande test s'appelle aussi "[" (si tu regardes dans /usr/bin tu verras un programme nommé simplement « [ »)

    stef@medusa:~$ ls -li /usr/bin/[ /usr/bin/test
    524048 -rwxr-xr-x 1 root root 39464 avril 13  2014 /usr/bin/[
    523982 -rwxr-xr-x 1 root root 35368 avril 13  2014 /usr/bin/test
    

    Tiens d'ailleurs c'est marrant je m'attendais à un lien physique… mais passons

    Il n'y a pas une méthode plus simple ?

    Ce n'est pas très compliqué :

    if [ <condition> ]
    blabla
    else
    blabla
    fi
    

    qui peut aussi s'écrire :

    if test <condition>
    blabla
    else
    blabla
    fi
    

    ou encore :

    if [ <condition>
    blabla
    else
    blabla
    fi
    

    Le crochet fermant est juste là pour la décoration… Par contre n'oublie pas de laisser un espace à l'intérieur des crochets ;)

  • [^] # Re: Débuggage

    Posté par  . En réponse au message Exercice shell script. Évalué à 2.

    Je suis du même avis que toi. Par curiosité j'ai essayé de faire son exercice et je suis tombé sur un comportement qui me laisse dubitatif :

    J'initialise d'abord ma variable VAR comme une chaîne vide VAR="" (pour être sûr, en fait au début je ne l'avais pas fait mais j'ai cru que le comportement décrit ci-dessous était lié à ça. Je viens également d'essayer VAR= c'est la même chose…)

    à chaque tour de boucle si VAR contient déjà quelque chose

    Pour le test j'ai le choix entre ! -z $VAR c'est celui qui me vient en premier, -n $VAR celui que je trouve dans le man de la commande test à la recherche d'un truc plus propre, $VAR qui est, toujours d'après le manuel, équivalent au second.

    Je ne comprends pas pourquoi :

    ! -z $VAR -> OK
    $VAR -> OK
    -n $VAR -> NOK (j'ai 'arg1,arg2,argN,' en sortie…)

  • [^] # Re: Un .deb pour les prochaines versions ?

    Posté par  . En réponse au journal Pourquoi vous ne devriez pas packager vous-même votre logiciel pour Debian ?. Évalué à 6.

    Le portable est pas supposé s'éteindre tout seul en cas de chauffe trop importante, avant destruction des circuits internes ?

  • [^] # Re: Un .deb pour les prochaines versions ?

    Posté par  . En réponse au journal Pourquoi vous ne devriez pas packager vous-même votre logiciel pour Debian ?. Évalué à 2.

    des mises à jour sur ma debian qui ont rendu mon ordi bon pour la casse…

    Haha ! Vraiment ? Je suis curieux…

  • [^] # Re: ok

    Posté par  . En réponse au message questions sur differentes commandes. Évalué à 2. Dernière modification le 28 octobre 2014 à 21:21.

    la commande echo xxxx crée un fichier texte nommé ls avec pour contenu "cat yyy"

    C'te flemme du copier/coller :) Ça ne participe pas à la clarté de ton propos…

  • [^] # Re: N'exécute pas ces commandes

    Posté par  . En réponse au message questions sur differentes commandes. Évalué à 3.

    cat /challenge/binary/binary1/.passwd. Pourquoi on fait ça ? Je ne le sais pas, ça ne semble pas permettre une élévation de droits en soi.

    Le programme binary1 est un cracker de mot de passe et écrit le mot de passe deviné dans le fichier .passwd, ainsi quelle n'est pas la stupéfaction de l'utilisateur qui voit s'afficher son mot de passe top secret, son intimité, lors d'un inoffensif ls :)

    En tous cas merci pour tes explications détaillées.

  • # Non

    Posté par  . En réponse au message Créer un LVM contenant un disque utilisé. Évalué à 4.

    Bonjour,

    À priori je dirais que non.

    Je n'ai pas encore utilisé cette fonctionnalité (LVM), mais j'aimerais bien m'y mettre.

    Pourquoi ?

  • [^] # Re: y a une question ou c'est un memo pour ta prochaine reinstallation ?

    Posté par  . En réponse au message le dvd de debian jessie. Évalué à 4. Dernière modification le 26 octobre 2014 à 11:20.

    Ça doit être ça.

    Moi c'est à la quatrième ligne que ce style inimitable m'a fait lever le regard sur l'auteur et éprouver une petite joie intérieure au moment exact où je me suis dit : « Robertix, je le savais ! » :)

  • [^] # Re: Autre méthode

    Posté par  . En réponse au message Mais pourquoi que mon RPM il ne s'installe pas ?. Évalué à 2.

    Tout connement… Ça ne me dit pas pourquoi ça ne fonctionne pas comme ça devrait mais merci beaucoup.

  • [^] # Re: Code

    Posté par  . En réponse au journal Que penses-tu du service mail Mailden ?. Évalué à 4.

    J'aime bien celle là moi :

    Tour of accounting

    :)

  • # dualboot

    Posté par  . En réponse au message Configuration Bios pour Medion. Évalué à 3.

    J'ai du mal à imaginer comment le fait d'avoir un multiboot peut provoquer des instabilités sur un système ou l'autre…

    Good luck, c'était pas si évident pour qqun qui n'a jamais touché à un Bios de sa vie

    J'imagine. Dans ma vie j'en ai tâté du BIOS. J'ai quand même un peu galéré à installer Ubuntu sur un portable récent en UEFI :/

  • [^] # Re: A la souris

    Posté par  . En réponse au sondage mon dispositif de pointage habituel est…. Évalué à 3.

    Il n'y a pas d'endroit dédié aux présentations. Si tu tiens à te présenter tu peux faire un journal. Par contre attention, je ne garantie pas qu'il obtienne une note positive :/

  • [^] # Re: et pour les gauchers...

    Posté par  . En réponse au sondage mon dispositif de pointage habituel est…. Évalué à 2.

    Pour le tir à l'arc tu n'as pas le choix, c'est en fonction de ton œil directeur que tu vas tenir l'arc à droite ou à gauche…

    Et oui, on est gaucher ou droitier des yeux. Je ne crois d'ailleurs pas que l'on puisse être ambidextre à ce niveau là.

  • [^] # Re: EDITOR !!

    Posté par  . En réponse au journal Une installation hi-fi de qualitay avec le Raspberry Pi (Arch, Pulseaudio, Shairport, trolls inside). Évalué à 4.

    Oué enfin en l'occurrence quand tu fais un crontab -e cette variable est bien prise en compte hein ;)

  • [^] # Re: Gandhi

    Posté par  . En réponse au journal Les temps changent ?. Évalué à 8.

    Eunebelibeubeul !

  • [^] # Re: gros soucis de domaine avec samba/ldap

    Posté par  . En réponse au message gros soucis de domaine avec samba/ldap. Évalué à 3.

    Tu as vérifié les paramètres DHCP reçus comme suggéré par Christophe K. ?