Все просто:
!/bin/bash
while :
do
echo "Enter a positive integer number (-99 to quit):"
read NUMBER
if (( NUMBER == -99 ))
then
exit
fi
echo "$NUMBER: "
COUNTER=1
while (( COUNTER <= NUMBER ))
do
echo $COUNTER
((COUNTER++))
done
done
Ваше правило может выглядеть так
directory_name/all.txt: $(FILES)
cat $(FILES) > $@
Это обеспечило бы максимальную переносимость, чтобы правило работало как с GNU make
, так и с BSD make
(, которые могут не понимать $^
; вы не говорите, какую реализацию вы используете ). Обратите внимание, что строка с командой cat
должна иметь отступ с символом табуляции.
Список зависимостей просто $ (FILES ).
По сути, это просто расширяет именованный список. Таким образом, цель переделывается, если какой-либо из файлов, которые способствуют ее достоверности, новее, чем сама цель.
Существует сокращение, которое будет использовать подстановочные знаки для файлов, если у вас есть шаблон. Для вашего примера, вероятно, просто:
FILES= file[1-9]