Bash - 为什么sfdisk不能在这个脚本中工作?

时间:2017-03-30 06:07:21

标签: linux bash

更新:根据建议,我已经问过超级用户社区的这个问题。我告诉他们你打招呼;)

https://superuser.com/questions/1193808/why-doesnt-this-sfdisk-script-work

这是一个痛苦的过程。也许有一些我想念的简单......?

我正在尝试创建一个脚本来自动使用gpt表和占用所有空间的1个分区对磁盘进行分区。应该超级简单直接..

我找到了sfdisk命令,它是fdisk的(可能是)脚本友好版本。

我到目前为止所做的最好的是:

sfdisk --color=always --wipe always --no-reread --no-act --label gpt /dev/sdc

分区类型的问题是Linux Filesystem(对数据驱动器来说是个不错的选择吗?)。 GUID为0FC63DAF-8483-4772-8E79-3D69D8477DE4

当我运行上面的命令时,我得到一个交互式提示。这对我的脚本来说有点问题;)

手册页中描述的输入/输出格式是什么?

<name>: <value>, <name>: <value>, ...

这似乎暗示我做了类似的事情:

echo 'label: gpt' | --color=always --wipe always --no-reread --no-act /dev/sdc

但是,唉,这比上述更难。 :(

Partitioning /dev/sdc...

Disk /dev/sdc: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes

>>> line 1: unsupported command

New situation: Leaving.

然后是我在手册页深处发现的转储文件。它似乎暗示我可以创建这些被诅咒的东西,捕捉它们,并管道到sfdisk。 (联合国?)幸运的是,我无法硬编码大部分内容,因此解决方案对我不起作用:

label: gpt
label-id: 236AEC41-D407-4FE5-94FA-8550C2CA10B5
device: /dev/sdc
unit: sectors
first-lba: 2048
last-lba: 5860533134

/dev/sdc1 : start=        2048, size=  5860531087, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4,uuid=8D7D48B0-8BF5-4383-B0EC-615C0E8AF4B4

我做错了什么!? 谢谢:))

1 个答案:

答案 0 :(得分:0)

我找到了更好的方法:sgdisk

sgdisk --clear $blkdev
sgdisk --new=0:0:0 --typecode=0:0FC63DAF-8483-4772-8E79-3D69D8477DE4 $blkdev