Depois de criar uma partição, você está definindo o tipo de partição: echo t;
. Então, para o próximo prompt, você está enviando o número do tipo de partição desejado ... mas não é o que fdisk
está pedindo . Quer saber o número da partição cujo tipo você deseja definir primeiro.
Portanto, a sequência deve ser:
... echo t; echo $number_part; echo $format; ...
Note que quando há apenas uma partição, a questão do número da partição será omitida porque existe apenas uma partição possível para definir o tipo de.
Se você deseja criar partições em um script, considere usar sfdisk
. Sua interface é muito mais adequada para scripts.