Я работаю над сценарием, где я делаю ext3 файловую систему на диске, проблема состоит в том, что сценарий просит, чтобы пользователь любому сказал да или нет:
root@ubuntu:/home/school# mkfs.ext3 /dev/sdc
mke2fs 1.42 (29-Nov-2011)
/dev/sdc is entire device, not just one partition!
Proceed anyway? (y,n)
Я попытался поместить-y прежде mkfs и после sdc, но это не работало. У кого-либо есть какие-либо решения сделать это без взаимодействия с пользователем?
Вы не должны, вероятно, делать файловую систему на всем диске. Вместо этого необходимо сделать его на разделе на диске (который был бы чем-то как /dev/sdc1
вместо /dev/sdc
). Если у Вас уже нет раздела, можно сделать это сначала. Раздел может (по существу) быть размером целого диска, если Вам нравится. Даже когда Вы только хотите один раздел на диске, все еще необходимо на самом деле сделать раздел. Много утилит и приложений (и люди!) не будет работать или будет вести себя странно, если Ваши файловые системы не будут на разделах.
Если Вы действительно знаете то, что Вы делаете, и Вы уверены, что хотите сделать файловую систему, которая не является частью никакого раздела, можно сделать, делают mkfs.ext3
сделайте это, не предлагая пользователю, при помощи -F
флаг. Это почти всегда предпочтительно для моделирования интерактивного входа с каналом (это более просто, больше самодокументирования, и что, если что-то неожиданное происходит и вопрос - что-то еще, как устройство, уже смонтированное?). С другой стороны, в некоторых ситуациях (с некоторыми утилитами) можно найти, что необходимо передать по каналу y
или yes
к утилите, таким образом, это - хорошая техника для знания.
Из описания -F
флаг в man mkfs.ext3
:
Вынудите mke2fs создать файловую систему, даже если указанное устройство не является разделом на специальном устройстве блока, или если другие параметры не имеют смысла. Чтобы вынудить mke2fs создать файловую систему, даже если файловая система, кажется, используется или смонтирована (действительно опасная вещь сделать), эта опция должна быть указана дважды.
Так, можно использовать mkfs.ext3 -F /dev/sdc
.
Но, для повторения Вы не должны, вероятно, делать этого вообще, потому что файловые системы должны почти всегда создаваться на разделе.
Нет никакого -y
опция для mkfs.ext3
, можно проверить чтение ее страницы руководства (man mkfs.ext3
). Однако существует программа, названная yes
, который специально предназначен, чтобы сделать то, что Вы хотите:
NAME
yes - output a string repeatedly until killed
Так, Вы могли работать:
yes | mkfs.ext3 /dev/sdc
Однако , примите во внимание, что Вы пытаетесь создать файловую систему на всем устройстве вместо на единственном разделе, и это, вероятно не , что Вы хотите сделать. Необходимо сначала создать раздел на диске, и тогда создают файловую систему на том разделе.