Bonjour à tous,
J'ecris un petit script bash, et je rencontre quelques difficulté. Je pense que le problème vient de ma condition dans le if :
Voici un morceau 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
if [ "$nb" -lt "$pi_sens_region_gene" ] && [ -s "tmp_no_exon_FBgn0003028.bed" ];
				echo "exon exist"
				then
					ligne_pi_3UTR=`intersectBed -a tmp_no_exon_FBgn0003028.bed -b 3UTR_FBgn_controle_13.bed -wa -wb | grep 'FBgn0003028' | cut -f 4 | sort -u | wc -l`
					intersectBed -a tmp_no_exon_FBgn0003028.bed -b 3UTR_FBgn_controle_13.bed -v > tmp_no_3UTR_FBgn0003028.bed
					nb=$(($nb+$ligne_pi_3UTR))
					echo "nb apres then 3UTR " $nb
				elif [ "$nb" -lt "$pi_sens_region_gene" ] && [ ! -s "tmp_no_exon_FBgn0003028.bed" ] &&  [ -s "tmp_no_intron_FBgn0003028.bed" ];   
					echo "tmp_no_exon_FBgn0003028.bed n exist pas , mais intron existe "
					then
					ligne_pi_3UTR=`intersectBed -a tmp_no_intron_FBgn0003028.bed -b 3UTR_$nom.bed -wa -wb | grep 'FBgn0003028' | cut -f 4 | sort -u | wc -l`
					intersectBed -a tmp_no_intron_FBgn0003028.bed -b 3UTR_FBgn_controle_13.bed -v > tmp_no_3UTR_FBgn0003028.bed
					nb=$(($nb+$ligne_pi_3UTR))
					echo "nb apres elif 3UTR :" $nb
				else [ "$nb" -lt "$pi_sens_region_gene" ] && [ ! -s "tmp_no_exon_FBgn0003028.bed" ] && [ ! -s "tmp_no_intron_FBgn0003028.bed" ] ;
					echo "ni exon ni intron exist "
					ligne_pi_3UTR=`intersectBed -a pi_sens_gene_region_FBgn0003028.bed -b 3UTR_FBgn_controle_13.bed -wa -wb | grep 'FBgn0003028' | cut -f 4 | sort -u | wc -l`
					intersectBed -a pi_sens_gene_region_FBgn0003028.bed -b 3UTR_FBgn_controle_13.bed -v > tmp_no_3UTR_FBgn0003028.bed
					nb=$(($nb+$ligne_pi_3UTR))
					echo "nb apres else 3UTR :" $nb		
 
			fi
Je pense qu'en fait toutes les conditions du if ne sont pas respectée, est ce que la syntaxe est correcte ?