Я новичок в bash-программировании, извините, если это может быть глупым вопросом. Я нашел скрипт на моем сервере, и я пытаюсь понять каждую строку:
#!/bin/sh
#
# man-db cron weekly
set -e
if ! [ -d /var/cache/man ]; then
# Recover from deletion, per FHS.
mkdir -p /var/cache/man
chown man:root /var/cache/man || true
chmod 2755 /var/cache/man
fi
# regenerate man database
if [ -x /usr/bin/mandb ]; then
# --pidfile /dev/null so it always starts; mandb isn't really a daemon,
# but we want to start it like one.
start-stop-daemon --start --pidfile /dev/null \
--startas /usr/bin/mandb --oknodo --chuid man \
-- --quiet
fi
exit 0
Некоторые вещи, которые я не понимаю, как
set -e
Я читал об этом, что он "проверяет" ваши команды. Так что это дает предупреждение или исключение, если что-то идет не так? Или более подробный отчет об ошибке?
if ! [ -d /var/cache/man ]; then OR
if [ -x /usr/bin/mandb ]; then
Что я не понимаю, так это команды "-d" или "-x" в предложении if, imho, там чего-то не хватает.
chown man:root /var/cache/man || true
Я не понимаю последнюю часть, в чем причина этого "ИЛИ ИСТИНА".
Может кто-нибудь может мне помочь?
tia && regards noircc