(я предполагаю, что вы работаете в Linux из-за ссылок в вашем вопросе)
Я не очень знаком с parted
, но я считаю, что узлы устройства раздела не создаются непосредственноэто - они создаются udev
, который по своей природе является асинхронной процедурой:
parted
создает раздел - ядро обновляет свой внутреннийstate
- ядро уведомляет демон
udev
(udevd
) udevd
, проверяет его файлы правил (обычно в /etc/udev/
) и создает соответствующие узлы устройства
Эта процедура позволяет четко отделить политику обработки узлов устройства от ядра, что является хорошей вещью (TM).К сожалению, это также приводит к относительно непредсказуемым задержкам.
Возможный способ справиться с этим - заставить ваш скрипт ждать появления узлов устройства:
while [ ! -e "/dev/sdd1" ]; do sleep 1; done