我正在学习这个preinst文件的内容,这个文件在从Debian归档(.deb)文件中解包这个软件包之前被脚本执行。
脚本有以下代码:
#!/bin/bash
set -e
# Automatically added by dh_installinit
if [ "$1" = install ]; then
if [ -d /usr/share/MyApplicationName ]; then
echo "MyApplicationName is just installed"
return 1
fi
rm -Rf $HOME/.config/nautilus-actions/nautilus-actions.conf
rm -Rf $HOME/.local/share/file-manager/actions/*
fi
# End automatically added section
我的第一个问题是关于这行代码:
set -e
我认为剩下的脚本很简单:它检查Debian/Ubuntu软件包管理器是否正在执行安装操作。如果是,则检查我的应用程序是否刚刚安装在系统上。如果是,则脚本会打印消息"MyApplicationName is just installed"并结束(return 1
表示以一个“错误”结束,不是吗?)。
如果用户要求Debian/Ubuntu软件包系统安装我的软件包,脚本还将删除两个目录。
这样正确吗?或者我有遗漏什么吗?
set -e
是一个 Bash shell 命令,表示在脚本执行时,如果发生错误就停止执行。 - Anders Lindahlman set
的内容。 - Sedat Kilincset +e
。 - Tom Saleeba