Этот сценарий создает десять файлов изображений и копирует в них файлы.
#!/бин/баш
# скрипт для создания нескольких образов дискет для установки hwp30
#+на виртуальном боксе.
# размонтировать образ, если он смонтирован
sudo размонтировать /медиа/дискета
# создать десять пустых изображений размером 2,88 МБ.
#+затем смонтируйте каждый образ и скопируйте файл(ы).
для n в {1..10}; делать
mkfs.msdos -C "hwp30-${n}.img" 2880
sudo mount -o loop "hwp30-${n}.img" /media/floppy
sudo cp -v "../DISK${n}" /носитель/дискета
# если первый диск, то скопировать INSTALL.EXE
если [[ $n -eq 1 ]]; тогда
sudo cp -v ../INSTALL* /носитель/дискета
фи
sudo размонтировать /медиа/дискета
сделано
# сделано?
если [[$? -экв 0 ]]; тогда
эхо "сделано!"
фи
Когда я запускаю этот скрипт, происходит монтирование, копирование файлов и размонтирование. не синхронизировано; они не выполняются в правильном порядке. Размонтирование говорит "устройство занято" несколько раз.
После завершения сценария мне нужно сделать размонтировать
команда несколько раз, чтобы размонтировать их все (даже если это одна и та же точка монтирования?).
Я думаю, это называется состояние гонки. Как исправить?