====== Коды завершения ====== [[http://en.wikipedia.org/wiki/True_and_false]] ===== Переменная ? - код завершения последнего запущенного процесса ===== $ ls /bin $ echo $? $ ls /noexistfile $ echo $? ===== Проверка наличия аргументов в скриптах ===== # cat /root/ex1.sh #!/bin/sh test "$1" = "" && \ { echo usage: echo /root/ex1.sh url exit 1 } ... ===== Управление процессами с использованием кода завершения ===== ==== Простая система мониторинга ==== $ crontab -l 0 * * * * /usr/bin/ping -c 4 val.bmstu.ru >/tmp/pingval 2>&1 || /usr/bin/mail -s 'ping val.bmstu.ru' userX@isp.un /tmp/pingval 2>&1 || (echo Subject: ping val;echo;cat /tmp/pingval) | /usr/bin/curl -s smtp://gate.isp.un/ --mail-from userX@isp.un --mail-rcpt userX@isp.un --upload-file - ==== Пример с антивирусом ==== * [[Сервис Clamav]] $ cd /tmp $ wget http://gate.isp.un/unix/virus.zip $ f=/etc/passwd $ ls $f >/dev/null 2>&1 && echo file $f exist || echo file $f not exist $ f=virus.zip $ clamdscan $f || rm $f $ test -e $f && (clamdscan $f >/dev/null 2>&1 || rm -v $f) $ clamdscan $f | grep FOUND >/dev/null 2>&1 && rm -v $f