Uso de comandos Bash em Loops Aninhados no Makefile

0

Eu quero usar comandos bash em loops aninhados no makefile, meu código atual não está funcionando. Alguém pode me guiar o que pode ser o problema? Eu escrevi um código simples no alvo de teste. Aqui, eu quero ir para um diretório DIR_S / case1 e copiar o arquivo rtt.csv para outro diretório DIR_D / rtt /.

test: 
    cn=1; while [[ $$cn -le 2 ]] ; do \
        echo $$cn ; \
        ((cd $(DIR_S)/case\ $$cn)) ;  \
        ((cp rtt.csv $(DIR_D)/rtt/)) ; \
        ((cn = cn + 1)) ; \
    done

Não há erro quando executo isso, mas vejo esta mensagem e a linha não é executada

/bin/sh: ((: cd /Users/Umar/Desktop/dummy1/case 1: division by 0 (error token is "/Umar/Desktop/dummy1/case 1")

Uma coisa que notei foi que, se digitar

cd /Users/Umar/Desktop/dummy1/case 1

na linha de comando não funcionará por causa do espaço, eu também atualizei a linha acima de

((cd $(DIR_S)/case\ $$cn)) ;  \ 

para

((cd $(DIR_S)/case\ $$cn)) ;  \

mas ainda esta linha não é executada. Alguém pode me orientar como usar comandos bash em loops aninhados no Makefile. (Eu mencionei loops aninhados como eu pretendo adicionar outro loop após este loop)

    
por Umar 20.09.2015 / 17:08

1 resposta

0

O problema parecia ser resolvido quando eu uso comandos bash sem ((e)).

    
por 20.09.2015 / 17:17