Bonjour,
J'utilise le Bourne Shell et je ne comprend pas pourquoi cela ne marche pas.
J'explique :
Ce fichier PERL contient notamment cette fonction permettant de récupérer des données à partir d'un fichier (l'ID et la séquence)
Je souhaite passer ces arguments à un scriptCode:sub lireFasta { my $indexName = $_[0]; my $in = Bio::SeqIO -> new(-file => $ARGV[0], -format => 'fasta'); #Récupération des séquences my $i = 1; while ( my $seq = $in->next_seq() ) { my $id = $seq->primary_id; my $sequence = $seq->seq; #Passage d'arguments au script CURL associé system `./indexFasta.sh '$id' $sequence $indexName $i`; $i++; } }qui ressemble à ça :indexFasta.sh
Or lorsque je lance le script PERL, il me dit qu'il n'accepte pas la synthaxe dans le Shell et qu'il veut, à la place de mes variables un string or mes variables son belle et bien des String.Code:#!/bin/sh #** # # Remplir l'index avec les paramètres # # @param $1 : ID de la séquence en traitement # @param $2 : séquence en traitement # @param $3 : nom de l'index # @param $4 : id du jeu de donnée traité ### curl -XPUT localhost:9200/$3/fasta/$4 -d '{ id : '$1', seq : '$2' }' exit 0
Je joint ci-dessous un exemple de Shell qui fonctionne et s'utilise de la même façon pour aider à comprendre (pas de variables dans celui-çi)
Ce code est un outil d'indexation il fonctionne :Code:curl -XPUT localhost:9200/manuel/biologie/1 -d '{ id : "livrebio", tag : "bookbiocell", nom : "biologie cellulaire, il était une fois la vie", pages : "2500", auteur : "maestro" }'
J'espère avoir été clair, si ce n'est pas le cas n'hésitez pas, je préciserais ma pensée.Code:curl -XPUT localhost:n°de_port/nom_de_l'index/sous_catégorie/identifiant_dans_l'index -d '{champ : "valeur du champ",champ2 : "valeur de champ 2"}'
![]()
-----