Linux 如何在安装过程中获取用户输入
因此,当我创建一个debian包时,我能够编写一个运行良好的安装后shell脚本。目前我的配置为Linux 如何在安装过程中获取用户输入,linux,bash,rpm,rpmbuild,Linux,Bash,Rpm,Rpmbuild,因此,当我创建一个debian包时,我能够编写一个运行良好的安装后shell脚本。目前我的配置为 echo "Please enter your MySQL Database user (default root)" read MYSQL_USER echo "Please enter the MySQL Database user password (default root)" read -s MYSQL_PASS DBEXIST=0 CMD="create dat
echo "Please enter your MySQL Database user (default root)"
read MYSQL_USER
echo "Please enter the MySQL Database user password (default root)"
read -s MYSQL_PASS
DBEXIST=0
CMD="create database lportal;use lportal;"
(mysql -u$MYSQL_USER -p$MYSQL_PASS -e "$CMD") || ((DBEXIST++))
if [ $DBEXIST -ne 0 ]; then
echo "Setup finished, but MySQL already has an lportal table. This could be from a previous installation of Liferay. If you want a fresh installation of this bundle, please remove the lportal table and reinstall this package."
fi
这对Ubuntu很好。然而,我似乎无法让用户输入与Fedora的RPM一起工作。有没有一个好的方法来获取用户输入?据我所知,RPM的设计不允许交互式安装。但是我找不到更好的方法
是否有一种方法可以在不询问用户的情况下自动查找本地MySQL设置?否则,请求用户输入的最佳方式是什么?好的,我已经解决了这个问题,但没有真正的答案——基本上根据我的理解,我有两个选择——一个是像Bind或CUPS这样的包装器脚本。这被认为是不好的包装做法,虽然,我仍然不知道如何去做它。更好的方法是在%POST脚本中指定默认值,并创建firstrun标志。用户第一次启动软件时,它会提示进行配置设置。好的,我已经解决了这个问题,但没有给出真正的答案——基本上根据我的理解,我有两个选择——一个是像Bind或CUPS这样的包装器脚本。这被认为是不好的包装做法,虽然,我仍然不知道如何去做它。更好的方法是在%POST脚本中指定默认值,并创建firstrun标志。用户第一次启动软件时,会提示进行配置设置。在Debian中,您应该使用
debconf
来配置软件包。谢谢el.pescado,我正在阅读debconf-devel的手册页。我意识到我为ubuntu做的有点错误,哈哈。那么,Fedora是否有一个等价物呢?在Debian中,您应该使用debconf
来配置您的包。谢谢el.pescado,我正在阅读debconf-devel的手册页。我意识到我为ubuntu做的有点错误,哈哈。那么,软呢帽有没有等效物呢?