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>
Tags gzip process-substitution