O problema está no teste da variável $LLPP_ID
sem aspas. Quando houver dois PIDs, o teste se expandirá para um erro de sintaxe (algo como [ 12334 24433 ]
).
Em vez disso, use o teste -n
para testar uma string não vazia (e sempre cite qualquer expansão de variável):
if [ -n "$LLPP_ID" ]; then
Mas seria mais fácil com pkill
:
#!/bin/sh
pdflatex "$filename"
if ! pkill -HUP llpp; then
llpp "$filepath/$filename.pdf" &
fi
Isso formaria o seu documento, envie HUP
para qualquer llpp
de instâncias em execução, independentemente de haver uma ou várias e, se não houver nenhuma, inicie uma nova.
Note que eu sei nada sobre o que o leitor de PDF llpp
é ou faz.