私はそうしようとしています。名前付き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