สคริปต์นี้สร้างไฟล์รูปภาพสิบไฟล์และคัดลอกไฟล์ไปยังไฟล์เหล่านั้น
#!/bin/bash
# สคริปต์เพื่อสร้างอิมเมจฟล็อปปี้ดิสก์หลายชุดสำหรับการติดตั้ง hwp30
#+บนกล่องเสมือน
# ภาพ umount ในกรณีที่ติดตั้ง
sudo umount /media/ฟล็อปปี้ดิสก์
# สร้างภาพเปล่าขนาด 2.88mb สิบภาพ
#+จากนั้นเมานต์แต่ละภาพและคัดลอกไฟล์
สำหรับ n ใน {1..10}; ทำ
mkfs.msdos -C "hwp30-${n}.img" 2880
sudo mount -o วนซ้ำ "hwp30-${n}.img" /media/floppy
sudo cp -v "../DISK${n}" /media/floppy
# ถ้าดิสก์แรกให้คัดลอก INSTALL.EXE
ถ้า [[ $n -eq 1 ]]; แล้ว
sudo cp -v ../INSTALL* /media/floppy
ไฟ
sudo umount /media/ฟล็อปปี้ดิสก์
เสร็จแล้ว
# เสร็จแล้ว?
ถ้า [[ $? -eq 0 ]]; แล้ว
ก้อง "เสร็จแล้ว!"
ไฟ
เมื่อฉันเรียกใช้สคริปต์นี้ การเมานต์ การคัดลอกไฟล์ และการถอนเมาต์ ไม่ซิงค์; พวกเขาไม่ได้ทำตามลำดับที่ถูกต้อง Umounting บอกว่า 'อุปกรณ์ไม่ว่าง' สองสามครั้ง
หลังจากเขียนสคริปต์เสร็จ ฉันต้องทำ นับ
สั่งหลาย ๆ ครั้งเพื่อถอนออกทั้งหมด (แม้ว่าจะเป็นจุดเมานต์เดียวกันก็ตาม)
ฉันคิดว่าสิ่งนี้เรียกว่า สภาพการแข่งขัน. วิธีแก้ไข?