Eu uso o Debian (Raspbian) Wheezy. Se esta linha de comando funciona bem:
smsd -c sms/out -i 60 -0 -f sms/smsd.log
e esse alias também funciona bem:
bsmsd='smsd -c sms/out -i 60 -0 -f sms/smsd.log'
então por que essa mesma linha de comando em um script bash executável inicia o comando smsd
, mas não vê nenhum dos parâmetros que estou especificando? Este é o script:
#!/bin/bash
smsd -c sms/out -f /home/pi/sms/smsd.log -i 60 -0 -v
Eu tentei redirecionar e canalizar, sem sucesso.
Estou invocando o script (chamado ssmsd) na linha de comando da seguinte forma:
./ssmsd
Depois disso, esta é a saída de ps -fC smsd
:
UID PID PPID C STIME TTY TIME CMD
Edit: Eu sei que ele não reconhece os parâmetros, porque me diz que não especifiquei um diretório de spooling. Mas eu fiz : -c sms/out
. Quando chamado do script, ele fornece o número da versão e o autor e sai.
Talvez eu deva acrescentar: chama a si mesmo de um daemon, mas não é um daemon bem comportado . Você não pode smsd start|stop|restart
e não é executado em segundo plano. Então, se eu chamá-lo de uma linha de comando (ou com esse alias) e, em seguida, iniciar outro terminal e fazer ps -fC smsd
, recebo:
UID PID PPID C STIME TTY TIME CMD
pi 2860 2621 0 17:49 pts/0 00:00:00 smsd -c xxxxxxx -i 60 -0 -f sms/smsd.log