Partage
  • Partager sur Facebook
  • Partager sur Twitter

Convertir des seconde en heure sur une variable

Sujet résolu
    24 mai 2019 à 9:47:03

    Bonjour à tout ! 

    Pour vous donner le contexte j'ai un script bash qui demande à l'utilisateur d'entrer une valeur qui elle est exprimer en seconde (dû au software qui est codé ainsi), un peu plus tard dans le code je l'affiche mais lire un valeur exprimé en seconde ce n'est pas possible alors je cherche a la rendre plus "lisible ou agréable".  

    Existe-il une/un fonction/programme qui me permet de faire ce qu'indique le titre de ce sujet ?

    La solution est peut-être simple mais là je sèche un peu ^^' 

    Merci d'avance pour toutes réponses

    • Partager sur Facebook
    • Partager sur Twitter
    SiFed
      24 mai 2019 à 10:11:56

      Bonjour,

      Qu'es que tu veux dire par valeur en secondes ? Un timestamp ?

      Si c'est ça tu peux utiliser la commande date avec l'option -d suivit du timestamps précédé de @. Par exemple :

      date -d @1558685376

      Sinon il faut diviser par 3600.

      • Partager sur Facebook
      • Partager sur Twitter
        24 mai 2019 à 10:55:37

        Pour répondre à ta question je n'utilise pas de timestamp 

        Je pense que mon problème sera plus claire si j'affiche mon code.

        Ceci est le moment où je lui demande la variable :

        read -e -p "Insérez le temps du test en seconde : " temp1
        
        cd /opt/test
        sh test1.sh -t $temp1 
        
        ./test_cmd_line_x64

        Puis vient le moment où je lui demande d'afficher le temps du test :

        echo Temps du test 1 : $temp1 heure(s)
        • Partager sur Facebook
        • Partager sur Twitter
        SiFed
          24 mai 2019 à 11:40:21

          echo Temps du test 1 : $(( $temp1 / 3600 )) heure(s)
          • Partager sur Facebook
          • Partager sur Twitter
            24 mai 2019 à 11:47:44

            Ca marche ! 

            je te remercie pour ton aide ! :)

            • Partager sur Facebook
            • Partager sur Twitter
            SiFed
              24 mai 2019 à 11:54:11

              Bonjour,

              Deja ya 2 problémes.

              Le 1er

              Pourquoi ca :

              cd /opt/test
              
              sh test1.sh -t $temp1 
              Tu pouvais simplifier ton code comme ca :
              sh /opt/test/test1.sh -t $temp1

              Alors pourquoi effectuer un deplacement dans un repertoire avec ton script ?

              Le 2e

              Ton code ne fonctionne pas car il manque les quotes

              Et enfin c'est pas vraiment un probleme mais le echo il est dans quel script ?

              test1.sh

              ou
              test_cmd_line_x64
              et le 2e script il sert a quoi ?

              -
              Edité par Apollyon 24 mai 2019 à 13:38:05

              • Partager sur Facebook
              • Partager sur Twitter
                24 mai 2019 à 14:19:20

                Apollyon a écrit:

                Pourquoi ca :

                cd /opt/test
                
                sh test1.sh -t $temp1 

                Tu pouvais simplifier ton code comme ca :

                sh /opt/test/test1.sh -t $temp1

                C'est pas équivalent. Si test1.sh fait des appels dépendant du répertoire de travail cela ne va pas marcher.
                • Partager sur Facebook
                • Partager sur Twitter
                  24 mai 2019 à 16:28:06

                  Re :

                  Alors oui mais il ne l'a pas spécifié c’est pour cela que j’ai posé la question et normalement quand t'as besoin d'utiliser des fichiers dans un répertoire précis, tu fais en sorte que ton script puisse s’exécuter de n'importe ou en définissant des chemins absolus dans ton code.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 mai 2019 à 8:31:45

                    Salut Apollyon

                    Je ne suis pas un expert en bash et de très loin je connais juste "les bases", pour répondre à ta question,

                    Apollyon a écrit:

                    Pourquoi ca :

                    cd /opt/test
                    
                    sh test1.sh -t $temp1 


                    Pour moi mon script est plus claire et plus simple à comprendre quand il est écrit sous cette manière même si ce n'est pas la forme la plus optimal, puis cela me permettra de m'y retrouver si jamais j'ai besoin de faire des modifications même une fois commenté.

                    Apollyon a écrit:

                    Re :

                    Alors oui mais il ne l'a pas spécifié c’est pour cela que j’ai posé la question et normalement quand t'as besoin d'utiliser des fichiers dans un répertoire précis, tu fais en sorte que ton script puisse s’exécuter de n'importe ou en définissant des chemins absolus dans ton code.


                    C'est mon premier script "important" en bash ^^'

                    • Partager sur Facebook
                    • Partager sur Twitter
                    SiFed

                    Convertir des seconde en heure sur une variable

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    • Editeur
                    • Markdown