Faz mais sentido usar screen -ls ou
screen -S worker -x || { cd /home/www/example; screen -S worker python example.py; }
Mas os erros no seu código são
-
o
[desnecessário (que precisaria de espaços ao redor dele)if [ls /var/run/screen/S-root/ |grep -Fxq worker]deve ser
if ls /var/run/screen/S-root/ | grep -Fxq worker -
a falta de
;/ newline antes dethen|grep -Fxq worker] thendeve ser
| grep -Fxq worker; then -
a falta de
;/ newline antes deelsethen screen -r worker elsedeve ser
then screen -r worker; else -
a falta de
;/ newline antes defipython example.py fideve ser
python example.py; fi