Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Bash-为什么不';SFT磁盘在这个脚本中工作吗?_Linux_Bash - Fatal编程技术网

Linux Bash-为什么不';SFT磁盘在这个脚本中工作吗?

Linux Bash-为什么不';SFT磁盘在这个脚本中工作吗?,linux,bash,Linux,Bash,更新:根据建议,我向超级用户社区提出了这个问题。我告诉他们你打招呼;) 这是一个痛苦的过程。也许我遗漏了一些简单的东西 我正在尝试创建一个脚本,用一个gpt表和一个占用所有空间的分区自动对磁盘进行分区。应该非常简单和直截了当 我找到了sfdisk命令,它是(据推测)对脚本友好的fdisk版本 到目前为止,我得到的最好结果是: sfdisk --color=always --wipe always --no-reread --no-act --label gpt /dev/sdc 还有分区类型

更新:根据建议,我向超级用户社区提出了这个问题。我告诉他们你打招呼;)

这是一个痛苦的过程。也许我遗漏了一些简单的东西

我正在尝试创建一个脚本,用一个gpt表和一个占用所有空间的分区自动对磁盘进行分区。应该非常简单和直截了当

我找到了
sfdisk
命令,它是(据推测)对脚本友好的fdisk版本

到目前为止,我得到的最好结果是:

sfdisk --color=always --wipe always --no-reread --no-act --label gpt /dev/sdc
还有分区类型的问题,即
Linux文件系统
(这是数据驱动器的一个好选择吗?)。其GUID为
0FC63DAF-8483-4772-8E79-3D69D8477DE4

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

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

:,:,…

这似乎是在建议我做以下事情:

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

但是,唉,这比上述更难失败(

然后是我在手册页深处听到的转储文件。它似乎表明我可以创建这些被诅咒的东西,对它们进行分类,然后通过管道传输到sfdisk。(Un?)幸运的是,我不能硬编码大部分内容,因此解决方案对我不起作用:

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
我做错了什么!?
谢谢:)

我找到了一个更好的方法:
sgdisk

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

-f
应该这样做,因为我不明白为什么它不起作用时,我犹豫是否要强制采取行动。互动提示是怎么回事?输出格式(
:,:,…
)建议我执行类似于
echo'label:gpt'| sfdisk…
?刚刚尝试了您的命令,ok
-f
(单独)在这里没有意义。是的,问题是您没有指定分区表。您需要通过管道将其传输到命令。一个简单的开始是:(1)在测试系统上使用交互式命令手动创建分区(2)通过
sfdisk-d/dev/testdev>part.table.txt
转储分区表。查看
part.table.txt
您将了解这些命令的外观。可选(3):使用
sfdisk-f/dev/foo
将其转储到其他磁盘。确定。我做到了。我把生成文件的内容放在我的问题中。谢谢你的帮助,勇敢的灵魂!祝您旅途愉快:)
sgdisk --clear $blkdev
sgdisk --new=0:0:0 --typecode=0:0FC63DAF-8483-4772-8E79-3D69D8477DE4 $blkdev