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] then
deve ser
| grep -Fxq worker; then
-
a falta de
;
/ newline antes deelse
then screen -r worker else
deve ser
then screen -r worker; else
-
a falta de
;
/ newline antes defi
python example.py fi
deve ser
python example.py; fi