Я использовал бы файл блокировки, как упомянуто Marco
#!/bin/bash
# Exit if /tmp/lock.file exists
[ -f /tmp/lock.file ] && exit
# Create lock file, sleep 1 sec and verify lock
echo $$ > /tmp/lock.file
sleep 1
[ "x$(cat /tmp/lock.file)" == "x"$$ ] || exit
# Do stuff
sleep 60
# Remove lock file
rm /tmp/lock.file
Самая вероятная причина этой ошибки состоит в том что Getopt/Std.pm
библиотека повреждена в Вашей системе. Попытайтесь определить местоположение его, например, с locate Std.pm
; в моей системе это расположено здесь:
iserv ~ # locate Std.pm
/usr/share/perl/5.10.1/Getopt/Std.pm
Попытайтесь открыть его с редактором. Это - 295 строк долго в моей системе, и это должно закончиться строкой 1;
. Если файл поврежден или пуст, необходимо переустановить пакет, который обеспечивает этот файл (perl-modules
на Debian).