Ř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.