This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
коды_завершения [2011/02/25 16:40] val |
коды_завершения [2019/06/20 09:55] (current) val |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Коды завершения ====== | ====== Коды завершения ====== | ||
+ | |||
+ | [[http://en.wikipedia.org/wiki/True_and_false]] | ||
+ | |||
===== Переменная ? - код завершения последнего запущенного процесса ===== | ===== Переменная ? - код завершения последнего запущенного процесса ===== | ||
<code> | <code> | ||
Line 7: | Line 10: | ||
$ ls /noexistfile | $ ls /noexistfile | ||
$ echo $? | $ echo $? | ||
+ | </code> | ||
+ | ===== Проверка наличия аргументов в скриптах ===== | ||
+ | <code> | ||
+ | # cat /root/ex1.sh | ||
+ | </code><code> | ||
+ | #!/bin/sh | ||
test "$1" = "" && \ | test "$1" = "" && \ | ||
Line 14: | Line 23: | ||
exit 1 | exit 1 | ||
} | } | ||
+ | ... | ||
</code> | </code> | ||
===== Управление процессами с использованием кода завершения ===== | ===== Управление процессами с использованием кода завершения ===== | ||
+ | |||
+ | ==== Простая система мониторинга ==== | ||
+ | |||
<code> | <code> | ||
- | $ f=/etc/rc.conf | + | # crontab -l |
- | $ ls $f >/dev/null 2>&1 && echo Yes || echo No | + | </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> | ||
+ | $ 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 | ||
- | $ f=/tmp/virus.zip | + | $ test -e $f && (clamdscan $f >/dev/null 2>&1 || rm -v $f) |
- | $ clamscan $f || rm $f | + | |
- | $ test -e $f && (clamdscan $f || rm $f) | + | $ clamdscan $f | grep FOUND >/dev/null 2>&1 && rm -v $f |
</code> | </code> |