Linux
如何編寫 mkfs 腳本詢問“是整個設備,而不僅僅是一個分區!繼續?”
我正在嘗試創建一個格式化 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 選項也沒有區別。
從手冊頁:
-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
直接呼叫而不是 viamkfs
,並添加-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