User Tools

Site Tools


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

This is an old revision of the document!


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

Переменная ? - код завершения последнего запущенного процесса

$ 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 * * * * /usr/bin/ping -c 4 val.bmstu.ru >/tmp/pingval 2>&1 || /usr/bin/mail -s 'ping val.bmstu.ru' userX@isp.un </tmp/pingval

0 * * * * /usr/bin/ping -c 4 val.bmstu.ru >/tmp/pingval 2>&1 || (echo Subject: ping val;echo;cat /tmp/pingval) | /usr/bin/curl -s smtp://gate.isp.un/ --mail-from userX@isp.un --mail-rcpt userX@isp.un --upload-file -

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

$ wget http://gate.isp.un/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
коды_завершения.1775036114.txt.gz · Last modified: 2026/04/01 12:35 by val