我正在尝试这样做:如果名为 的 GNU 屏幕worker
已存在,则重新附加到它,否则通过启动python example.py
.
我试过:
if [ls /var/run/screen/S-root/ |grep -Fxq worker] then screen -r worker else cd /home/www/example/; screen -S worker python example.py fi
但它似乎不起作用。
语法有问题吗?
答案1
screen -ls
使用或更有意义
screen -S worker -x || { cd /home/www/example; screen -S worker python example.py; }
但你的代码中的错误是
不必要的
[
(周围需要空间)if [ls /var/run/screen/S-root/ |grep -Fxq worker]
必须是
if ls /var/run/screen/S-root/ | grep -Fxq worker
之前缺少
;
/换行符then
|grep -Fxq worker] then
必须是
| grep -Fxq worker; then
之前缺少
;
/换行符else
then screen -r worker else
必须是
then screen -r worker; else
之前缺少
;
/换行符fi
python example.py fi
必须是
python example.py; fi