是否可以在预设中使用条件参数?

是否可以在预设中使用条件参数?

我正在尝试创建一个可用于基于 CD 的安装和基于网络的安装的 preseed.cfg。我认为最简单的方法是使用 bash 条件“if”。作为 preseed/late 的一部分,我有类似以下内容的内容。

d-i preseed/late_command string \
if [ -f "/media/cdrom/pool/extras/info.gz" ];\
    then\
        echo "CD Install Info";\ 
        cp /media/cdrom/pool/extras/info.gz /target/var/www/info.gz;\
    else\
        echo "Assuming Network install";\ 
        wget http://192.168.0.1/info.gz;\ 
        cp ./info.gz /target/var/www/info.gz;\
fi

失败并显示错误“fi is expected”。我认为这是解析器的问题,所以我将所有内容压缩到一行。

if [ -f "media/cdrom/pool/extras/info.gz" ]; cp /media/cdrom/pool/extras/info.gz /target/var/www/info.gz; fi

此命令完成时没有错误,但文件未复制。在使用不同语法尝试多次后,我开始怀疑这是否可行。那么,在 preseed/late 期间是否可以用条件语句(如果还有其他条件语句,请告诉我)?

相关内容