Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisez $USER dans GNUPLOT

Sujet résolu
    9 février 2016 à 16:28:51

    Hello les zéros,

    J'ai mon script bash:

    #!/bin/bash
    
    java -jar /home/mee/Desktop/monjar.jar 
    
    gnuplot ./plotmee.gnu

    Qui va donc appeler mon appli java (qui génère un CSV avec des données récupérées dans ma bdd).

    Puis j'appelle mon script plot:

    #!/usr/bin/gnuplot
    reset
    date = system("date +%m-%d-%Y")
    set terminal png large size 1920,1080
    set output '/home/mee/Documents/'.date.'/monimage-'.date.'.png'
    set datafile separator ","
    set timefmt '%m/%d/%Y %H:%M:%S'
    set xdata time
    set format x "%m/%d/%Y\n%H:%M:%S"
    #
    set title 'titre'
    plot '/home/mee/Documents/'.date.'/data.csv' u 1:3 w lp t '1', '/home/mee/Documents/'.date.'/data.csv' u 1:4 w lp t '2'
    #

    Le script va créer un graph avec les données du CSV et enregistre le graph en png nommé "monimage-"date du jour (02-09-2016)".png

    Et je me demandais comment déployer ça sur un autre poste, avec un autre username. Mon java va enregistrer le csv dans les documents de l'utilisateur actuel mais je ne sais pas comment faire pour que mon gnuplot récupère le username de la session en cours.

    J'ai essayer le bon vieux $USER (plot '/home/'.$USER.'/Documents/'...) mais il m'a jeté comme un malpropre.

    Si par hasard vous savez comment faire, ça doit être tout con pour que je ne trouve rien sur google ou stackoverflow. 

    Merci (:

    Précision: je suis sur CentOS 7.

    -
    Edité par Jeb_Kerman 10 février 2016 à 10:46:55

    • Partager sur Facebook
    • Partager sur Twitter
    Do androids dream of electric sheep?
      10 février 2016 à 12:33:14

      2 solutions:

      On peut appeller le gnu dans un bash de la façon suivante:

      #!/bin/bash
      
      
      gnuplot << EOF
      
      plot '$USER/input1.csv' ...
      EOF

       Tous les paramètres et les variables bash sont utilisables.

      Ou utiliser la commande system() de gnuplot qui permet d'appeller des commandes bash:

      plot '/home/'.system("echo $USER").'/Documents/...



      -
      Edité par Jeb_Kerman 12 février 2016 à 15:28:33

      • Partager sur Facebook
      • Partager sur Twitter
      Do androids dream of electric sheep?

      Utilisez $USER dans GNUPLOT

      × 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