从命令行提取参数的 Kickstarter 脚本
Kickstarter Script to Extract Parameters from Commandline
我正在尝试自定义 kickstarter 脚本以在预安装过程中从用户那里提取参数。
命令格式为:
raidtype HAtype partitionSize
即raid1 hanode 2048 或 radi1 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`
我正在尝试自定义 kickstarter 脚本以在预安装过程中从用户那里提取参数。 命令格式为:
raidtype HAtype partitionSize
即raid1 hanode 2048 或 radi1 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`