我正在研究这个preinst文件的内容,脚本在从Debian归档(.deb)文件中解包之前执行该文件
该脚本具有以下代码:
#/bin/bash
set-e
#由dh_installinit自动添加
如果[“$1”=安装];然后
如果[-d/usr/share/MyApplicationName];然后
echo“MyApplicationName刚刚安装”
返回1
fi
rm-Rf$HOME/.config/nautilus actions/nautilus-actions.conf
rm-Rf$HOME/.local/share/file manager/actions/*
fi
#结束自动添加的节
我的第一个问题是关于行:
set-e
我认为脚本的其余部分相当简单:它检查Debian/Ubuntu包管理器是否正在执行安装操作。如果是,它会检查我的应用程序是否刚刚安装在系统上。如果有,脚本将打印消息“MyApplicationName刚刚安装”并结束(return 1表示以“error”结束,不是吗?)
如果用户要求Debian/Ubuntu软件包系统安装我的软件包,脚本还会删除两个目录
这是对的还是我遗漏了什么
从帮助集:
-e如果命令以非零状态退出,则立即退出。
但一些人(bash常见问题解答和irc freenode#bash常见问题解答的作者)认为这是一种不好的做法。建议使用:
陷阱“做点什么”错误
当出现错误时运行执行某项功能
看http://mywiki.wooledge.org/BashFAQ/105