Fix in pakfire functions.sh

The if statement in line 89 and 99 are useless with the -e
conditional expression because it returns true if the path ist a
regular file or a directory.
So "/etc/init.d/ " returns true and "/etc/init.d/avahi" return also true,
but the statement should return only true if we have a regular file.
So -f if the right conditional expression, and we only try to execute
the init script if the path "/etc/init.d/${1}" points to a regular file.

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Jonatan Schlag
2016-06-10 10:13:41 +02:00
committed by Michael Tremer
parent 77d989a667
commit e6fd1f2d38

View File

@@ -86,7 +86,7 @@ start_service() {
esac
done
if [ -e "/etc/init.d/${1}" ]; then
if [ -f "/etc/init.d/${1}" ]; then
if [ -n "${BACKGROUND}" ]; then
(sleep ${DELAY} && /etc/init.d/${1} start) &
else
@@ -96,7 +96,7 @@ start_service() {
}
stop_service() {
if [ -e "/etc/init.d/${1}" ]; then
if [ -f "/etc/init.d/${1}" ]; then
/etc/init.d/${1} stop
fi
}