我正在尝试创build一个格式化Amazon EC2 EBS卷的脚本,所以我可以安装它。
从命令行看起来像这样:
> mkfs -q -t ext4 /dev/sdf /dev/sdf is entire device, not just one partition! Proceed anyway? (y,n)
(该命令是正确的;不需要为我的目的创build一个分区表)
我的问题:因为这个命令应该是在一个自动化的脚本中运行,我不能在terminal上有这个问题; 没有人会回答,脚本将挂起。 我如何避免这种情况?
我试过了:
> echo y | mkfs -q -t ext4 /dev/sdf
但这并不能解决问题。 -q选项也没有区别。
从手册:
-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参数来忽略这个警告。
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