Partage
  • Partager sur Facebook
  • Partager sur Twitter

bug ? sur programme simple

Sujet résolu
    22 avril 2019 à 22:54:23

    Bonjour a tous !

    petite question pour vous :

    est-ce normal qu'un script fonctionne bien quand on le lance depuis un terminal;

    (cad oucrir un terminal, et lancer le script depuis celui-ci)

    et que double cliquer dessus puis "lancer dans un terminal" fais "bugguer" le programme ?

    voici le programme :

    #! /bin/bash
    
    heure=$(date +%H)
    minutes=$(date +%M)
    jour=$(date +%d" "%m" "%Y)
    compheure=$(date +%H)
    compjour=$(date +%d" "%m" "%Y)
    tesst=1
    direction=$(pwd)
    #echo "wget tout les ...."
    #read delai
    #echo 'le film dure combien de temps ?(minutes)'
    #read temps
    
    while [ "$tesst" -eq 1 ]; do
    	jour=$(date +%d" "%m" "%Y)
    	mkdir "$direction"/"$(date +%d)"\ "$(date +%m)"\ "$(date +%Y)"
    	while [ "$compjour" == "$jour" ]; do
    
    		cd "$direction"/"$(date +%d)"\ "$(date +%m)"\ "$(date +%Y)"
     		compheure=$(date +%H)
    		mkdir "$direction"/"$(date +%d)"\ "$(date +%m)"\ "$(date +%Y)"/"$compheure"	
    		cd "$direction"/"$(date +%d)"\ "$(date +%m)"\ "$(date +%Y)"/"$compheure"/""
    		heure=$(date +%H)
    
    		while [ "$compheure" == "$heure" ]; do
    			nbre=0
    			wget http://www.google.fr &
    			sleep 0.47
    			compheure=$(date +%H) 
    		done
    		cp "$direction/.ffm" ./
    		./.ffm &
    		compheure=$(date +%H)
    		compjour=$(date +%d" "%m" "%Y) 
    
    	done 
    done
    

    donc c'est censer crée un dossier jour puis heure , puis encore heure , ensuite nouveau jour, ainsi de suite ....

    le probleme vous le verrez lorsque vous l'executerez en mode terminal le programme se lance les dossier se crée et le wget lance bien des requete a google,

    alors qu"en mode "double clique" et "lancer dans un terminal" erreur avec mkdir le fichier existe, donc en faites il ne rentre pas dans la seconde boucle ... :/

    si quelqu'un a les connaissances ou une logique à apporter je suis preneur ! :)

    bonne soirée a vous

    • Partager sur Facebook
    • Partager sur Twitter
      24 avril 2019 à 15:37:30

      Hello,

      Je pense que tu auras le même bug si tu lances le script deux fois de suite dans un terminal.

      Tu peux reproduire le problème en lançant les deux commandes suivantes

      mkdir bla
      mkdir bla

      Qui donne

      mkdir: cannot create directory ‘bla’: File exists
      

      Si tu fais dans un terminal "mkdir --help" tu trouveras la solution à ton problème ;)


      -
      Edité par potterman28wxcv 24 avril 2019 à 15:38:08

      • Partager sur Facebook
      • Partager sur Twitter
        24 avril 2019 à 16:24:41

        oui et c'est sa le probleme la commande mkdir n'est pas censer se lancer 2 fois de suite;

        il s'execute,, puis passe a la boucle suivante;

        lancer depuis un terminal, tout fonctionne;

        lancer depuis l'interface graphique puis "lancer dans un terminal" ne fonctionne pas ... :/

        je regarde l'help de mkdir je te redis quoi ;

        merci de ta réponse

        EDIT :Ce n'est plus un probleme mkdir;

        probleme mkdir résolu : l'option -p permet d'ignorer l'erreur si le fichier existe déja.

        le soucis est 18 : [ unexpected operator ...

        lancer depuis un terminal => ok ;

        lancer depuis l'interface graphique => soucis

        merci de votre réponse..

        -
        Edité par serakoc 24 avril 2019 à 16:37:13

        • Partager sur Facebook
        • Partager sur Twitter
          24 avril 2019 à 16:57:27

          Une possibilité serait que le terminal utilise bash alors que ton interface graphique utilise sh.

          Si tu lances ton script avec sh dans le terminal, est-ce que ça marche ?

          sh ton-script.sh

          De mon côté ça marche avec bash et sh.. je ne sais pas trop.

          ça vaudrait le coup que tu postes sur le forum officiel de ton OS. Par exemple pour ubuntu tu as https://ubuntuforums.org/ et même un forum français https://forum.ubuntu-fr.org/

          • Partager sur Facebook
          • Partager sur Twitter
            25 avril 2019 à 7:55:04

            Problème résolu j'ai omis un détail qui je pensais n'avais pas son importance c'est que le script était sur un serveur web (apache2) donc exécuter par www-data via PHP exec.

            Donc j'ai ajouter www data au visudo(je ne sais pas si sa a son importznce)

            Changer le groupe du dossier contenant les scripts (www-data)

            Puis nohup Bash commande et tout fonctionne ...

            Bizarre que sa fonctionne avec SH chez toi..?

            M'enfin problème résolu

            • Partager sur Facebook
            • Partager sur Twitter

            bug ? sur programme simple

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown