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

Shell et commandes GNU Discussion :

Script et adresse de répertoire


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Genomics
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Genomics

    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut Script et adresse de répertoire
    Bonjour à tous,

    je débute en script bash. Je travaille avec le logiciel R pour faire une grande étude statistique. Pour lancer plusieurs script R, j'utilise un script bash. Le problème, c'est que je travaille en collaboration. Nous avons les même jeux de données. Dans mon script R, je suis en train de rajouter une boucle if pour que mon collègue puisse faire tourner le script bash et les scripts R également sur sa machine.

    Voici un exemple du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    #! /bin/bash
     
    arg=${1:-b}
     
    echo $arg
     
    if [$arg == j] setwd("C:/Analysis/2013 DNA methylation/Analysis_3_general mixtures") 
     
    then 
       [$arg == b]
     
          PATH=$PATH:$/home/benoit/Documents/Svn/Analysis_4_Extrem_values
          FILES=/home/benoit/Documents/Svn/Analysis_4_Extrem_values/Data_test/*.ct
          fi
     
     
    echo "Start of Gaussian test"
     
    for f in $FILES
     
       do
     
          echo "Test extrem values"
     
          R --vanilla --slave $* < ./Histogramm_01.r --args $f &>> erreur_Histogramm-01.log
     
          echo "--------------------------------- END --------------------------------------"
     
       done
    Merci pour votre aide :-)

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour,

    ce premier message ne contient ni question, ni message d'erreur, ni problème puisque collaborer n'est pas un problème.

    Nous ne pouvons que souhaiter "bonne chance!"

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 665
    Par défaut
    +1

    avec, en plus, un appel à la lecture de tutoriels (notamment, ceux inscrits dans ma signature).
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 362
    Par défaut
    Bonjour à toi,

    En rouge, ce qui ne fonctionne pas.
    Citation Envoyé par wanaga3166 Voir le message
    Bonjour à tous,

    Voici un exemple du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    #! /bin/bash
    
    arg=${1:-b}
    
    echo $arg
    
    if [$arg == j] setwd("C:/Analysis/2013 DNA methylation/Analysis_3_general mixtures") 
    
    then 
       [$arg == b]
    
          PATH=$PATH:$/home/benoit/Documents/Svn/Analysis_4_Extrem_values
          FILES=/home/benoit/Documents/Svn/Analysis_4_Extrem_values/Data_test/*.ct
          fi
    
    
    echo "Start of Gaussian test"
    
    for f in $FILES
    
       do
    
          echo "Test extrem values"
     
          R --vanilla --slave $* < ./Histogramm_01.r --args $f &>> erreur_Histogramm-01.log
    
          echo "--------------------------------- END --------------------------------------"
     
       done
    Merci pour votre aide :-)
    De rien

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 841
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wanaga3166 Voir le message
    Dans mon script R, je suis en train de rajouter une boucle if pour que mon collègue puisse faire tourner le script bash et les scripts R également sur sa machine.
    Bonjour

    Mis à part la notion vaguement similaire entre les mots "boucle" et "faire tourner" je ne vois pas de lien logique entre "rajouter une boucle" et le fait que ça permette à ton collègue de faire tourner le script. Donc en fait sans boucle ça tourne chez-toi mais pas chez ton collègue ???

    En plus rajouter une "boucle if" ben t'as qu'à repartir en algorithmique apprendre ce qu'est une boucle et ce qu'est un "if"
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    ben t'as qu'à repartir en algorithmique apprendre ce qu'est une boucle et ce qu'est un "if"
    T'es-tu déjà amusé à écrire des programmes en Brainfuck ?
    Pour ce langage, une boucle et une condition sont la même chose.

    Quand on sait que tous les logiciels du monde pourrait être traduit dans ce langage, on se demande si le problème est vraiment algorithmique.

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 841
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    T'es-tu déjà amusé à écrire des programmes en Brainfuck ?
    Non mais je me suis amusé à écrire un interpréteur de Brainfuck => http://www.developpez.net/forums/d11...l/#post6450257

    Citation Envoyé par Flodelarab Voir le message
    Pour ce langage, une boucle et une condition sont la même chose.
    Pas tout à fait. Dans ce langage, le bloc conditionnel (et non la condition) n'existe pas. Cependant l'instruction "]" de fin de boucle retourne à l'instruction "[" de début de boucle si l'octet pointé est différent de 0. Elle réalise pour cela une opération de comparaison/condition qu'on peut alors exploiter pour "simuler" un bloc conditionnel. Mais ce n'est pas parce qu'on utilise une boucle pour créer un ersatz de bloc conditionnel qu'une boucle est un bloc conditionnel !!!

    C'est comme si tu remplaçais un bête if (a == 5) b=10 else b=20 qui n'existerait plus en C par un équivalent de ce style
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    tmp=a;
    while (a == 5)
    {
        b=10;
        a=0;
    }
    a=tmp;
    while (a != 5)
    {
        b=20;
        a=5;
    }
    a=tmp;
    En me disant que, puisque le résultat est le même alors les instructions sont les mêmes...

    Citation Envoyé par Flodelarab Voir le message
    Quand on sait que tous les logiciels du monde pourrait être traduit dans ce langage, on se demande si le problème est vraiment algorithmique.
    Ben oui, puisque Brainfuck n'est rien d'autre qu'une machine de Turing, tous les logiciels tournant fatalement sur des machines de Turing tournent en Brainfuck !!!
    Mais je n'ai jamais dit que le problème était algorithmique, j'ai dit à wanaga3166 d'aller revoir (voir?) des cours d'algorithmiques (afin de pouvoir ensuite utiliser ce qu'on y enseigne pour traduire son problème en instructions shell et surtout afin de prendre conscience de ce qu'est une boucle par rapport à un if et que ce que cela entraine comme conséquences dans un code)...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. script shell : comparer 2 répertoires entre eux
    Par Chicna dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 19/09/2011, 18h42
  2. Scripts pour exploration de répertoire
    Par christophe31 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 16/03/2008, 00h07
  3. Réponses: 3
    Dernier message: 04/12/2007, 12h22
  4. Exécuter un script cgi dans un répertoire
    Par raffa dans le forum Apache
    Réponses: 6
    Dernier message: 11/06/2006, 23h37
  5. Script qui scanne un répertoire
    Par sway dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/02/2006, 14h07

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