Я новичок в программировании 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, имхо там чего-то не хватает.
chown man:root /var/cache/man || true
Я не понимаю последнюю часть, в чем причина этого "или истинного".
может кто-нибудь может мне помочь?
tia & & с уважением
noircc