Я хочу скопировать папку M0R0 в M1R0, M1R1, M1R2 и т. д.
echo -n "M= "
read m
echo -n "From run= "
read r1
echo -n "To run= "
read r2
for i in $(seq $r1 $r2)
do
echo "M$mR$i"
cp -rp M0R0 M$mR$i
done
Однако этот код игнорирует вторую переменную $ i и создает только каталог M1.
Если вы хотите выполнить цикл после Mx
и Rx
, у вас должен быть второй цикл внутри первого. for ((m=0;m,10;m++)); do for i=0;i<5;i++)); do ..done;done
Ответ, о котором вы говорите, хорош для того, кто уже знает ответ на этот вопрос.
Вам действительно не нужно использовать последовательности. Кроме того, при использовании замены используйте ${}
, чтобы указать, где следует заменить переменную.
echo -n "M= "
read m
echo -n "From run= "
read r1
echo -n "To run= "
read r2
for ((i=$r1; i <=$r2; ++i));
do
echo "M${m}R${i}"
cp -rp M0R0 "M${m}R${i}"
done
Проблема должна быть в переменной
$m
. Вместо этого вы пытаетесь использовать$mR
.