从命令行提取参数的 Kickstarter 脚本

Kickstarter Script to Extract Parameters from Commandline

我正在尝试自定义 kickstarter 脚本以在预安装过程中从用户那里提取参数。 命令格式为:

raidtype HAtype partitionSize

即raid1 hanode 2048radi1 hanode 4096 等等

但是,脚本在安装期间不是 运行。我已将其缩小到 HANODE_SIZE 参数。

#--- Pre-installation script
%pre --interpreter /bin/sh

# Extract command line parameters
NORAID=`grep noraid /proc/cmdline`
RAID1=`grep raid1 /proc/cmdline`
RAID5=`grep raid5 /proc/cmdline`
HANODE=`grep hanode /proc/cmdline`
HANODE_SIZE=`sed 's/.*hanode *\([0-9]*\).*//'`
if [ -z "${HANODE_SIZE}" ]; then
    HANODE_SIZE="2048"
fi

当我去掉HANODE_SIZE后,安装成功(显然不能指定分区大小)。但是,当我包含包含 sed 命令的语句时,安装会在 kickstarter 脚本的执行过程中停止。 有人可以告诉我我做错了什么吗?我的 sed 语句有问题吗?

我终于注意到了这个问题。 sed 命令也需要使用命令行文件。以下最终起作用:

HANODE_SIZE=`sed 's/.*hanode *\([0-9]*\).*//' /proc/cmdline`