substituição de processo com (gunzip…) falha

1

O código a seguir retorna: erro de sintaxe próximo a (

#!/bin/bash
myprogram -i <(gunzip -c file.gz) -j <(gunzip -c file2.gz)

Parece que não gosta de parênteses. Como posso fazer este script funcionar? Se eu executar o mesmo comando para um shell Linux, ele funciona. É quando tento executar o script com o comando interno que ele falha. Preciso proteger os suportes ou algo assim?

A linha de comando exata que funciona fora do script (linha de comando) é:

 kaiju -z 1 -a greedy -m 5 -s 70 -x \
   -t /db/kaiju/nodes.dmp -f /db/kaiju/kaiju_db_nr_euk.fmi \
   -i <(gunzip -c files/mapped_reads_to_extracted_marker_genes/1/1.1.1.bin.13.genes.fa.R1.fq.gz) \
   -j <(gunzip -c files/mapped_reads_to_extracted_marker_genes/1/1.1.1.bin.13.genes.fa.R2.fq.gz)

Desculpe pela longa fila (kaiju é um programa de código aberto para bioinformática). Dentro de um script, ele falha com o erro acima

bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    
por David 23.01.2017 / 17:58

0 respostas