使用 fdisk 自动创建分区

使用 fdisk 自动创建分区

我在命令行上使用这些命令:

sudo fdisk /dev/mmcblk1
p
d
w

sudo fdisk /dev/mmcblk1
n
(using all defaults)
w

请问有什么选项可以自动执行此任务吗?或者如何为此使用一个衬垫(即使对于每个 fdisk 命令一个衬垫,总共两个 1 衬垫)?或者也许用Python?

答案1

您可以使用单行命令(bash):

(echo p; echo d; ... ; echo w) | fdisk /dev/mmcblk1

要设置默认答案,请使用echo "",要回答“是”,请使用echo "Y"

答案2

只需创建一个包含命令的文件(例如fdisk_cmds),例如:

p
i
    # This is a blank line to select a default response
q

sudo fdisk /dev/mmcblk1 < fdisk_cmds

答案3

考虑使用 SFDisk 来完成这项工作。

https://stackoverflow.com/questions/12150116/how-to-script-sfdisk-or-parted-for-multiple-partitions

TIA

卡洛斯·罗梅尔

答案4

首先使用更合适的工具。但如果您需要自动执行此类输入,请使用此处文档:

sudo fdisk /dev/mmcblk1 <<\EndOfAnswers
p
d
w
q
EndOfAnswers

(您可以选择您喜欢的任何单个字符来代替EndOfAnswers;您将看到很多文档使用,EOF但这只是一个约定。\after<<只是使第一个字母EndOfAnswers“引用”,正如 shell 所看到的那样,这意味着没有$扩展出现在此处文档的正文中;您可以使用<<'EndOfAnswers'or<<"EndOfAnswers"或 甚至获得相同的效果<<EndOfA\nswers。)

相关内容