Обратите внимание, что ваше определение destDIR
не устанавливает его значение вообще; он просто пытается запустить программу /data
с этим набором переменных. Поскольку /data
не называет программу, ничего значимого не происходит.
Теперь, видя, что $destDIR
не определен, ваша командная строка mv
сводится к следующему:
mv /Volumes/MCOOPER/data/run10.mat /
Поэтому разумно предположить, что ваши файлы были перемещены в корневой каталог. Вы проверяли там?
Кроме того, в качестве общего совета, есть, по крайней мере, три вещи, которые вы можете захотеть сделать, чтобы избежать несчастных случаев, подобных этому, в будущем:
- Всегда заключайте в кавычки ваши расширения параметров, если вы не хотите, чтобы они были разделены по словам:
mv "$sourceDIR/run$i.mat" "$destDIR"
- Если вы явно не знаете, что хотите заменить файлы, запустите
mv
с ключом -i
чтобы избежать случайной замены.
- Когда вы знаете, что хотите переместить вещи в каталог, полезно поставить последнюю косую черту в этом имени каталога в качестве защиты от случайного переименования файла (ов). То есть:
destDIR=/Volumes/MCOOPER2/data/
Кроме того, вы можете или не можете, в зависимости от ваших обстоятельств, запускать set -e
, чтобы завершить работу оболочки при сбое какой-либо команды вместо продолжения выполнения последующих команд.