This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
коды_завершения [2009/07/07 13:37] val |
коды_завершения [2019/06/20 09:55] (current) val |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Коды завершения ====== | ====== Коды завершения ====== | ||
+ | |||
+ | [[http://en.wikipedia.org/wiki/True_and_false]] | ||
+ | |||
===== Переменная ? - код завершения последнего запущенного процесса ===== | ===== Переменная ? - код завершения последнего запущенного процесса ===== | ||
<code> | <code> | ||
Line 8: | Line 11: | ||
$ echo $? | $ echo $? | ||
</code> | </code> | ||
- | ===== Управление процессами с использованием кода завершения ===== | + | ===== Проверка наличия аргументов в скриптах ===== |
<code> | <code> | ||
- | $ f=/etc/rc.conf | + | # cat /root/ex1.sh |
- | $ ls $f >/dev/null 2>&1 && echo Yes || echo No | + | </code><code> |
+ | #!/bin/sh | ||
- | $ f=virus.zip | + | test "$1" = "" && \ |
- | $ clamscan $f || rm $f | + | { |
+ | echo usage: | ||
+ | echo /root/ex1.sh url | ||
+ | exit 1 | ||
+ | } | ||
+ | ... | ||
+ | </code> | ||
+ | ===== Управление процессами с использованием кода завершения ===== | ||
- | $ test -e $f && (clamdscan $f || rm $f) | + | ==== Простая система мониторинга ==== |
+ | |||
+ | <code> | ||
+ | # crontab -l | ||
+ | </code><code> | ||
+ | 0 * * * * /bin/ping -c 4 val.bmstu.ru >/tmp/pingval 2>&1 || /usr/bin/mail -s 'p | ||
+ | ing val.bmstu.ru' userX@isp.un </tmp/pingval | ||
</code> | </code> | ||
+ | ==== Пример с антивирусом ==== | ||
+ | <code> | ||
+ | $ wget http://val.bmstu.ru/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 | ||
+ | </code> |