Table of Contents

Коды завершения

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 * * * * /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

Пример с антивирусом

$ 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