This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
коды_завершения [2009/03/17 12:31] 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" = "" && \ | ||
| + | { | ||
| + | echo usage: | ||
| + | echo /root/ex1.sh url | ||
| + | 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 | $ f=virus.zip | ||
| - | $ clamscan $f || rm $f | + | $ clamdscan $f || rm $f |
| - | </code> | + | |
| + | $ test -e $f && (clamdscan $f >/dev/null 2>&1 || rm -v $f) | ||
| + | $ clamdscan $f | grep FOUND >/dev/null 2>&1 && rm -v $f | ||
| + | </code> | ||