Я хочу использовать команды bash во вложенных циклах в make-файле, мой текущий код не работает. Может ли кто-нибудь направить меня, в чем может быть проблема. Я написал простой код в тестовой цели. Здесь я хочу перейти в каталог DIR_S/case1 и скопировать файл rtt.csv в другой каталог 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
Нет ошибки при запуске, но я вижу это сообщение и строка не выполняется
/bin/sh: ((: cd /Users/Umar/Desktop/dummy1/case 1: division by 0 (error token is "/Umar/Desktop/dummy1/case 1")
Я заметил, что если
cd /Users/Umar/Desktop/dummy1/case 1
в командной строке это не будет работать из-за пробела, я также обновил приведенную выше строку
((cd $(DIR_S)/case\ $$cn)) ; \
в
((cd $(DIR_S)/case\\ $$cn)) ; \
но все же эта строка не выполняется. Может кто-нибудь подсказать мне, как использовать команды bash во вложенных циклах в Makefile. (Я упомянул вложенные циклы, поскольку собираюсь добавить еще один цикл после этого цикла)