我正在尝试创建一个格式化 Amazon EC2 EBS 卷的脚本,以便我可以安装它。
从命令行来看,它看起来像这样:
> mkfs -q -t ext4 /dev/sdf
/dev/sdf is entire device, not just one partition!
Proceed anyway? (y,n)
(该命令是正确的;就我的目的而言,不需要创建分区表)
我的问题:因为这个命令应该在自动脚本中运行,所以我不能在终端上提出这个问题;没有人会回答,脚本会挂起。我该如何避免这种情况?
我试过:
> echo y | mkfs -q -t ext4 /dev/sdf
但这不起作用。-q 选项也没什么区别。
答案1
来自手册页:
-F Force mke2fs to create a filesystem, even if the specified device is not a partition on a block special device, or if other
parameters do not make sense.
因此,请mkfs.ext4
直接调用而不是通过mkfs
,并添加-F
参数以忽略此警告。
答案2
expect
就是您要找的内容。尝试以下操作:
#!/usr/bin/expect
spawn mkfs -q -t ext4 /dev/sdf
expect "/dev/sdf is entire device, not just one partition!\nProceed anyway? (y,n)"
send -- "y\r"
expect eof