Я пытаюсь создать сценарий, форматирующий том Amazon EC2 EBS, чтобы я мог его смонтировать.
Из командной строки это выглядит так:
> mkfs -q -t ext4 /dev/sdf
/dev/sdf is entire device, not just one partition!
Proceed anyway? (y,n)
(Команда верна; для моей цели не нужно создавать таблицу разделов)
Моя проблема: поскольку эта команда должна запускаться в автоматическом сценарии, у меня не может быть этого вопроса на терминале; никто не будет отвечать, и сценарий зависнет. Как мне этого избежать?
Я попытался:
> echo y | mkfs -q -t ext4 /dev/sdf
но это не помогает. Параметр -q также не имеет значения.
-F Force mke2fs to create a filesystem, even if the specified device is not a partition on a block special device, or if other
parameters do not make sense.
Так звоните mkfs.ext4
напрямую, а не через mkfs
и добавьте -F
параметр, чтобы игнорировать это предупреждение.
expect
это то, что вы ищете. Попробуйте что-то вроде этого:
#!/usr/bin/expect
spawn mkfs -q -t ext4 /dev/sdf
expect "/dev/sdf is entire device, not just one partition!\nProceed anyway? (y,n)"
send -- "y\r"
expect eof