./home/****/scripts/jam.sh
Altere para:
. /home/****/scripts/jam.sh
Note que há um espaço após o ponto
Eu tenho um script bash, que verifica um arquivo .txt uma vez por minuto e chama outro script, se necessário.
Estou usando cron
para isso, e isso está no crontab da raiz;
* * * * * /home/****/scripts/protocol_checker.sh
O script, chamado pelo cron;
cat protocol_checker.sh
#!/bin/bash
if grep -q "activate jammer" /etc/proto.txt; then
echo "'TZ=Turkey date' Calling jam.sh" >>/home/****/scripts/log/jam.log
./home/****/scripts/jam.sh
echo "'TZ=Turkey date' called jam.sh as 'whoami'" >> /home/****/scripts/log/jam.log
Eu sei que funciona corretamente, devido ao arquivo de log:
Thu Jan 1 05:40:01 EET 1970 Calling jam.sh
Thu Jan 1 05:40:01 EET 1970 called jam.sh as root
e as permissões de arquivo são:
-rwxr-xr-x 1 **** **** 577 Oct 4 18:21 jam.sh
-rwxr-x--- 1 **** **** 343 Oct 4 13:45 protocol_checker.sh
E aqui está o problema: Quando protocol_checker.sh
é executado, ele deve executar o jam.sh, mas isso não acontece. Eu até tentei com apenas uma simples linha echo "hey"
em jam.sh
. Tudo parece bem para mim? Qualquer ajuda seria apreciada.