我遇到了这个bash脚本,在使用Packer制作的ami上使根卷更大之后扩展了fs。有人可以解释一下heredoc中fdisk选项的含义吗?
#!/bin/bash
fdisk /dev/xvda <<EEOF
d
n
p
1
1
w
EEOF
exit 0
谢谢!
答案 0 :(得分:2)
要确定这些含义,请查看fdisk
的内置帮助。细节可能因您的实施而有所不同;对我来说,看起来像这样:
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
...这样:
d
删除一个分区(可能是您的脚本是为fdisk
版本开发的,如果只有一个分区,则没有提示删除哪个分区)。 n
创建一个新分区。
p
表示它是正在创建的主分区。1
表示它应该是主分区#1 1
表示它应该从扇区#1开始w
将更改写入磁盘。答案 1 :(得分:1)
尝试此操作并根据您的条件进行调整:
#!/bin/bash
HEREDOC_VAR_1='p q '
echo $HEREDOC_VAR_1
HEREDOC_VAR_2='n q '
echo $HEREDOC_VAR_2
echo "$HEREDOC_VAR_1" | fdisk /dev/xvda
echo "$HEREDOC_VAR_2" | fdisk /dev/xvda