Řešení 1:
Pokus o automatizaci fdisk
je to možné, ale není snadné ho udržovat. Jak poznamenávají další odpovědi, buď parted nebo sfdisk jsou navrženy tak, aby dělaly, co chcete, a lze je snadněji automatizovat.
rozešli
Chcete-li vytvořit oddíl v jednom řádku s parted
:
parted -a optimal /dev/usb mkpart primary 0% 4096MB
jak je vidět v tomto příspěvku UNIX SE. Každá z částí je docela samozřejmá, ale pro případ, zde je jak mkpart
je definováno:
mkpart
[typ součásti typ fs jméno ] start konec
kde věci v hranatých závorkách jsou volitelné, ale pravděpodobně chcete primary
pro váš typ dílu , začít na 0%
a končí na 4096MB
nebo jak velký je váš USB flash disk.
Řešení 2:
Vymažte vše a vytvořte jeden oddíl:
dev='/dev/sdb'
sudo umount "$dev"
printf "o\nn\np\n1\n\n\nw\n" | sudo fdisk "$dev"
sudo mkfs.ext4 "${dev}1"
Viz také:https://superuser.com/questions/332252/creating-and-formating-a-partition-using-a-bash-script
Řešení 3:
Pravděpodobně budete muset místo fdisk použít příkaz parted.
Řešení 4:
sfdisk
má také neinteraktivní režim, který načítá informace o oddílech ze stdin. parted
je však flexibilnější.
Řešení 5:
Místo toho použijte sfdisk.
Manuální stránka sfdisk je trochu matoucí, zde je několik konkrétních příkladů, jak automatizovat nastavení oddílu pomocí sfdisk. Jedním příkladem je, že můžete uložit informace o oddílu z jednoho disku pomocí sfdisk -l
a poté jej vypište přímo na nový disk.