This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
коды_завершения [2011/03/02 10:52] 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> | ||
| + | # 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> | ||
| + | $ wget http://val.bmstu.ru/unix/virus.zip | ||
| + | |||
| $ f=/etc/passwd | $ f=/etc/passwd | ||
| - | $ ls $f >/dev/null 2>&1 && echo Yes || echo No | + | $ ls $f >/dev/null 2>&1 && echo file $f exist || echo file $f not exist |
| $ f=virus.zip | $ f=virus.zip | ||
| $ clamdscan $f || rm $f | $ clamdscan $f || rm $f | ||
| - | $ test -e $f && (clamdscan $f || rm $f) >/dev/null 2>&1 | + | $ test -e $f && (clamdscan $f >/dev/null 2>&1 || rm -v $f) |
| + | |||
| + | $ clamdscan $f | grep FOUND >/dev/null 2>&1 && rm -v $f | ||
| </code> | </code> | ||