저는 이렇게 하려고 합니다. 이름이 지정된 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