Jestem nowy w programowaniu bash, przepraszam, jeśli to może być głupie pytanie. Znalazłem skrypt na moim serwerze i staram się zrozumieć każdą linię:
#!/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
Niektóre rzeczy, których nie rozumiem
set -e
Czytam o tym, że „sprawdza” twoje polecenia. Czyli daje ostrzeżenia lub wyjątek, jeśli coś pójdzie nie tak? Lub bardziej szczegółowy raport o błędach?
if ! [ -d /var/cache/man ]; then OR
if [ -x /usr/bin/mandb ]; then
To, czego nie rozumiem, to polecenia „-d” lub „-x” w klauzuli if, imho czegoś tam brakuje.
chown man:root /var/cache/man || true
Nie rozumiem ostatniej części, co jest przyczyną tego „OR PRAWDY”.
Może ktoś może mi pomóc?
tia i& pozdrowienia noircc
źródło